嗨我有一个问题(不是确切的问题,我已经解决了,但它至少非常有趣)在IE(7-8)移动Opera和其他浏览器中使用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="<b>hp-falper.jpg</b>" alt="hp-falper.jpg" target="_blank"><img src="http://designclub.cz/plugins/content/plugin_jw_sig/showthumb.php?img=hp/hp-falper.jpg&width=0&height=0&quality=0">
抱歉格式化:)
问题是以下..当我在主要的现代浏览器中使用此选择器jQuery("#galleryEl .sig_thumb a").eq(index);
(索引实际上是一个整数)时,它只是工作..
但在IE(7-9)(6 ia尚未测试)它没有..当我看到IE开发者控制台时,它看起来像结果对象是某种普通的dom对象???我真的不是当然,在js中不是那么熟练,但似乎是这样:)
当我更改jQuery(".sig_thumb a").eq(index);
时,它选择了正确的dom元素。标记是如此奇怪,因为它是一个joomla插件,我正在使用它动态创建背景幻灯片加入文件夹结构..所以有人知道wherefrom来这种奇怪的行为?
第二个问题..我真的想让它变得高效,那么在这种情况下哪种选择器是最好的?我知道当选择over id时,jQuery使用js native方法,在tagName的情况下也一样,等等,但我真的不确定如果这个选择器如何组合(是否更好地使用id-tag-class-someOtherStuff,或者id-class-someOtherStuff,id-someOtherStuff {如果id和结果对象之间有很多其他DOM元素})
谢谢你的帮助
答案 0 :(得分:0)
确保只有1个ID为“galleryEl”的元素。如果有多个,则取决于IE-Version和兼容模式(如果选择第一个或最后一个)。
测试示例:
<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>