【发布时间】:2011-09-15 21:50:55
【问题描述】:
我正在循环浏览一个表单并显示与我选择的 ID 匹配的内容。问题是某些 div 包含多个 id,在这种情况下它会停止工作。有任何想法吗?谢谢。
jQuery 代码:
$('#myForm').find('div').each(function() {
var myId = $(this).attr('id');
/* This will work */
if (myId == "Select1"){
$(this).removeClass("hideMe");
$(this).addClass("showMe");
}
/* This does not work */
else if (myId == "Select4"){
$(this).removeClass("hideMe");
$(this).addClass("showMe");
}
else{}
});
HTML 代码:
<div class="hideMe" id="Select1">
<p>Some Content</p>
</div>
<div class="hideMe" id="Select2 Select3 Select4 Select5">
<p>Some Content</p>
</div>
【问题讨论】:
-
我会第一个说,WTF
-
问题是div不能有多个ID。看到这个问题:stackoverflow.com/q/192048/206403
-
根据规范,
id不能包含空格。所以你的 HTML 无效。如果您使用无效的 HTML,则意味着从这一刻起发生的一切都是未定义的行为。而且,嘿,这种行为可能因浏览器而异。因此,首先要修复您的 HTML。 -
@Rocket 其实什么都不能有多个ID。
标签: javascript jquery-selectors