Jquery Hide多行具有相同的id

时间:2010-10-11 11:26:25

标签: jquery

我有多个具有相同id的行,当使用jquery函数时:

hide();

它只隐藏第一行而忽略其余行。

你能告诉我该如何解决它?

先谢谢

Neveen

2 个答案:

答案 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)