Jquery不对所有具有相同ID的div应用hide()

时间:2011-11-25 20:59:02

标签: javascript jquery html

我正在创建一个网站,并且通过php显示html,其中包含从数据库获取的数据。 我有一个foreach()函数,所以显示的所有东西都有相同的DIV ID。 它最终就像具有相同ID(#content)的4个DIV,所以PHP工作正常,但我有一个jQuery脚本,当我调用jQuery("#content").hide();时,它只隐藏了一个DIV而不是全部,我希望它隐藏所有这些。我还有别的办法吗? 感谢。

4 个答案:

答案 0 :(得分:6)

你应该使用一个类(.class_name),而不是一个id - 只有一个DOM元素可能有一个给定的ID,否则它是无效的HTML。 ID选择器只返回一个元素是合理的。

答案 1 :(得分:2)

页面上元素的ID应该是唯一的。因此,您指定的每个HTML标记都应具有不同的ID。如果要隐藏所有某个元素,可能适合将类添加到要隐藏的元素中?

e.g。

<div class="divToHide">Content...</div>
<div class="divToHide">Content...</div>
<div class="divToHide">Content...</div>

然后你的jquery将是:

$(".divToHide").hide();

答案 2 :(得分:1)

这只是因为您不能拥有多个具有指定ID的元素。 ID是并且必须是唯一的。 DOM中可能只存在一个具有相同元素的单个元素。

不遵守此规则可能会导致脚本损坏和其他恐怖行为。

您可以使用类来实现此目的。

答案 3 :(得分:1)

ID只能在HTML中使用 ONCE !因为它的id和id应该始终是唯一的