查找html文本和标记父级

时间:2011-05-10 13:31:59

标签: jquery

有这样的结构

<tr class="">
   ...               
                        <span class="">my-marker-1</span>
   ...
 </tr>

如何只查找单词“标记”并将 tr 作为特殊类?

4 个答案:

答案 0 :(得分:3)

您可以使用:contains()选择器:

$("tr:contains(my-marker-1)").addClass("my-class-1");

但是,您应该知道:contains()对元素的文本执行通配符搜索,因此它与cat中的categorypit中的capital匹配1}}。如果这对你来说太宽泛,你可以使用filter()

$("tr").filter(function () { 
    return $(this).find("span").text() == "my-marker-1";
}).addClass("my-class-1");

答案 1 :(得分:0)

尝试这样的事情。

$("tr td span.label-field").val("marker").closest("tr").addClass("special");

答案 2 :(得分:0)

假设您要将一个类应用于包含带有包含单词“marker”的文本的跨度的类TR的所有tabledrag-leaf,这将满足您的需求:

$('tr.tabledrag-leaf td').filter( function () {
    return $(this).children('span.label-field').html().indexOf('marker') !== -1;
}).parent().addClass('has-marker');

有关其工作原理的详细信息,请参阅jQuery.filter()

答案 3 :(得分:0)

如果“标记”总是在一个范围内:

$("span").each(function() {
    if ($(this).text() == "my-marker-1") {
        $(this).parent("tr").addClass("special_class");
    }
});