2011-04-29 53 views
0

嗨我有一個問題(不完全是問題,我已經解決了它,但它至少非常有趣)與IE(7-8)手機Opera和其他瀏覽器的jquery選擇器的差異bahaviour .. 這裏是我的榜樣jquery選擇器的問題和效率

<div id="galleryEl"><link href="http://designclub.cz/plugins/content/plugin_jw_sig/sig.css" rel="stylesheet" type="text/css"> 
       <style type="text/css">.sig_cont {width:30px;height:20px;}</style> 
       <script type="text/javascript" src="http://designclub.cz/plugins/content/plugin_jw_sig/mootools.js"></script> 
       <script type="text/javascript" src="http://designclub.cz/plugins/content/plugin_jw_sig/slimbox.js"></script> 
       <div class="sig"><div class="sig_cont"><div class="sig_thumb"><a href="http://designclub.cz/images/stories/hp/hp-falper.jpg" rel="lightbox[sig0]" title="&lt;b&gt;hp-falper.jpg&lt;/b&gt;" alt="hp-falper.jpg" target="_blank"><img src="http://designclub.cz/plugins/content/plugin_jw_sig/showthumb.php?img=hp/hp-falper.jpg&amp;width=0&amp;height=0&amp;quality=0"> 

對不起格式:)

的問題是following..When我主要的現代瀏覽器很好用.. 但在IE(7-9)(6使用這個選擇jQuery("#galleryEl .sig_thumb a").eq(index);(指數確實是一個整數) ia沒有測試過)它不是。當我查看IE開發者控制檯時,它看起來像結果對象是某種簡單的dom對象???我真的不確定,對js不熟練,但它似乎是這樣:) 當我改變jQuery(".sig_thumb a").eq(index);它選擇正確的dom元素..標記是如此奇怪,因爲它是一個joomla插件,我用它動態地創建背景幻燈片accroding文件夾結構..所以沒有人知道從哪裏出現這種奇怪的行爲? 第二個問題..我真的想使它高效,所以在這種情況下哪種選擇器是最好的選擇?我知道當選擇id時,jQuery使用js native方法,在tagName等情況下也是如此,但我真的不知道如果這個選擇器(是否更好地使用id-tag-class-someOtherStuff或id-class-someOtherStuff,id-someOtherStuff(在id和結果對象之間有很多其他DOM元素}) 感謝您的幫助

回答

0

確保只有1個元素的ID爲「galleryEl」。如果存在多個,則取決於IE版本和兼容模式(如果第一個或最後一個被選擇)。

例子來進行測試:

<script type="text/javascript"> 
jQuery(
     function($) 
     { 
      alert('Found:'+jQuery("#someID .someclass").eq(1).text()); 
     } 
); 
</script> 
<div id="someID"><span class="someclass">1</span></div> 
<div id="someID"><span class="someclass">2</span><span class="someclass">3</span></div> 
+0

由於這是point..I不知道爲什麼,是有可能的,也許很奇怪,我的Joomla配置?但同樣的ID是真的有兩次..: )第一個元素是空的,因此是純DOM對象:D – simekadam 2011-04-29 13:22:23