我有多个具有相同id的行,当使用jquery函数时:
hide();
它只隐藏第一行而忽略其余行。
你能告诉我该如何解决它?
先谢谢
Neveen
答案 0 :(得分:6)
您不能拥有多个具有相同ID的行,它是无效的标记。来自规范(link):
id
属性指定其元素的唯一标识符(ID)。该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。
相反,请确保ID是唯一的,或者根本不使用ID,使用他们共享的其他一些信息 - 常见的class
或公共位置(例如,同一个{{ 1}}或table
)等。如果他们没有您可以使用的共同方面,您需要给他们一个,但不能是重复的ID。
例如,要隐藏所有使用“foo”类的tbody
个元素:
tr
更多关于jQuery类选择器(它只是CSS类选择器)here。
答案 1 :(得分:3)
以上T.J Crowder是正确的。
你可能在jQuery中发现的另一件事是each()函数。
$('tr.foo').each(
function(object){
// do more stuff
object.hide();
}
);
有了它,您也可以应用条件逻辑,如果它的内容包含过滤词或其他内容,可能只隐藏该行。
我实际上并不知道我不必使用'each'。 (谢谢TJ)