jquery - index of click element on the list is different on IE 7 -


सेमी इस प्रारूप में सामग्री उत्पन्न कर रहा है।

  & lt; ul id = "slide_nav" वर्ग = "टैब" & gt; & Lt; a नाम = "ctn2363_2465" id = "ctn2363_2465" वर्ग = "छिपा हुआ" & gt; & lt; / a & gt; & lt; li id ​​= "button_1" & gt; & lt; एक वर्ग = "ohlord" href = "javascript: void 0); " आईडी = "बी 1" & gt; bookbag & lt; / a & gt; & lt; / li & gt; & Lt; a name = "ctn2363_2466" id = "ctn2363_2466" वर्ग = "छिपा हुआ" & gt; & lt; / a & gt; & lt; li id ​​= "button_2" & gt; & lt; एक वर्ग = "ohlord" href = "javascript: void 0); " आईडी = "बी 2" & gt; मदद & lt; / a & gt; & lt; / li & gt; & Lt; a name = "ctn2363_2467" id = "ctn2363_2467" वर्ग = "छिपा हुआ" & gt; & lt; / a & gt; & lt; li id ​​= "button_3" & gt; & lt; एक वर्ग = "ohlord" href = "javascript: void 0); " आईडी = "बी 3" & gt; टीम & lt; / a & gt; & lt; / li & gt; & Lt; a name = "ctn2363_2468" id = "ctn2363_2468" वर्ग = "छिपा हुआ" & gt; & lt; / a & gt; & lt; li id ​​= "button_4" & gt; & lt; एक वर्ग = "ohlord" href = "javascript: void 0); " आईडी = "बी 4" & gt; पर & lt; / a & gt; & lt; / li & gt; & Lt; / ul & gt;  

क्लिक किए गए लिंक का सही सूचक प्राप्त करने के लिए मुझे आईई 7 में ऐसा करना होगा (चयनकर्ता में वर्ग की जानकारी का उपयोग करें)

  $ ("# slide_nav लि एक ")। क्लिक करें (फ़ंक्शन () {var index = $ (" # slide_nav li & gt; a.ohlord ")। इंडेक्स (यह);});  

फ़ायरफ़ॉक्स $ ("# slide_nav li> एक") पर। सूचकांक (यह); काम करता है आईई पर यह गलत सूचकांक (0, 2, 4, 6 ..) पैदा करता है।

मेरा दूसरा प्रश्न है

  $ ('# slides) क्या कोई चयनकर्ता में क्लास की जानकारी का उपयोग किए बिना ऊपर html के लिए IE 7 में सही सूचक प्राप्त करने का एक तरीका है? आईएमजी ') [इंडेक्स] .attr (' शैली ',' डिस्प्ले: ब्लॉक; ');  

काम नहीं करता मुझे इस विशेषता को सेट करने के लिए प्रत्येक $ ('# स्लाइड्स इमेग') तत्वों के माध्यम से दोबारा लिखना होगा। HTMLElement ऑब्जेक्ट $ ('# स्लाइड्स इमेज') से लौटा नहीं है [इंडेक्स] एक जेक्जरी ऑब्जेक्ट?

<पी > अपने पहले प्रश्न का उत्तर देने के लिए, मुझे लगता है कि इस समस्या से संबंधित सूची बुरी तरह से बनाई गई है। उल के प्रत्यक्ष बच्चों को LI का होना चाहिए, जो सभी चीजों को लपेटना चाहिए। आपके मार्कअप में, प्रत्येक लाई के सामने एक एंकर होता है - जो कि आईई 7 को गड़बड़ कर सकता है।

  & lt; a name = "ctn2363_2465" id = "ctn2363_2465" class = "hidden" & gt; & lt ; / A & gt; ** & lt; - यह संदिग्ध है, पुनर्स्थापना ** & lt; li id ​​= "button_1" & gt; & lt; एक वर्ग = "ohlord" href = "javascript: शून्य (0);" आईडी = "बी 1" & gt; bookbag & lt; / a & gt; & lt; / li & gt;  

अपने दूसरे प्रश्न का उत्तर देने के लिए, आप यह कर सकते हैं:

  $ ('# slides img')। Eq (index) .attr ('style ', 'प्रदर्शन क्षेत्र;'); एआरटीआर ('शैली', 'डिस्प्लेः', 'ए' ब्लॉक; ');  

या:

<पूर्व> $ ('# स्लाइड इमेज') [अनुक्रमणिका] .style.display = 'block;';

या:

  $ ('# स्लाइड इमेज')। Get (index) .style.display = 'block;';  

इसका कारण [index] आपके उदाहरण से, जो .get (index) के समतुल्य है, एक DOM हो जाता है तत्व, और नहीं एक jQuery वस्तु, इसलिए .attr () काम नहीं करता है।

एक अंतिम बिंदु के रूप में, .show () के लिए स्थानापन्न कर सकते हैं .attr ('style', 'display: block;'); और भूलना नहीं है कि आप शैली गुण प्राप्त करने या सेट करने के लिए उपयोग कर सकते हैं, उदा। .css ("प्रदर्शन", "ब्लॉक");


Comments