我试图更改嵌套在一个名为blink3的div中的href:
$('#blink3 #backLink').attr('href',"#item5");,其中html代码如下所示:
<div style="float:left;text-align:center;" id="blink3">
<a href="#item4" class="panel" id="backLink">
<div class="divBack"></div></a>
</div>在所有浏览器中都工作得很好--而不是IE7,我不知道为什么,不会改变href。
这是IE7的错误吗?JQuery?我的密码有什么问题吗?
有什么解决办法吗?
发布于 2011-07-12 13:54:14
尼克·克雷弗(omg,你在哪?)已经在评论中说过了。创建像#id #id这样的选择器完全没有意义,因为根据定义,ID必须在DOM中是唯一的。
看起来您违反了该规则,因此,jQuery可能选择了一个错误的节点。
您应该将您的“反向链接”id替换为classes,然后选择如下所示
$('#blink3 .backLink');发布于 2015-09-23 00:57:01
我没有看到任何重复的ID在问题中,我也有同样的问题,即使我的所有ID是独特的。想要执行嵌套ID选择器的一个完全有效的理由是检索元素当且仅当它是特定父元素的子元素。我在拖放UI和树节点时遇到过这种情况。虽然不是选择器,但这是我在过去使用过的:
$("#parentId").find("#childId")发布于 2011-07-12 13:53:27
ID在页面中应该是唯一的。正如尼克所暗示的,您应该只有一个ID,其值为backlink。因此,$('#backlink')的选择器本身就足够了。如果您的backlink值有多个ID,那么您的HTML是错误的,您应该修复这个ID。
https://stackoverflow.com/questions/6665246
复制相似问题