jQuery和选择器
我的页面上有一个datagrid(asp.net)。我想选择第一列中有“foo”一词,第二列中有“bar”一词的所有行 我只知道第一栏怎么写jQuery和选择器,jquery,jquery-selectors,selector,Jquery,Jquery Selectors,Selector,我的页面上有一个datagrid(asp.net)。我想选择第一列中有“foo”一词,第二列中有“bar”一词的所有行 我只知道第一栏怎么写 jQuery('[id$="datagrid1"] tr td:contains(foo)') 有人能告诉我如何包含第二列的条件吗?第二列有“bar”一词 编辑: 还有,我如何精确匹配单词?当单元格包含单词时,As selectorcontains匹配。如果第二列与第一列相邻,则可以使用。使用.filter()可获得最大的灵活性: jQuery('[id
jQuery('[id$="datagrid1"] tr td:contains(foo)')
有人能告诉我如何包含第二列的条件吗?第二列有“bar”一词
编辑:
还有,我如何精确匹配单词?当单元格包含单词时,As selector
contains
匹配。如果第二列
与第一列相邻,则可以使用。使用.filter()
可获得最大的灵活性:
jQuery('[id$="datagrid1"] tr').filter(function () {
return $('td:eq(0)', this).text() == 'foo' &&
$('td:eq(1)', this).text() == 'bar';
});
.filter()
函数遍历每个元素,并希望您返回true
或false
,以指示是否应保留该元素(匹配)
:eq()
选择器允许您在匹配集内选择索引
像这样:
jQuery('[id$="datagrid1"] tr').filter(function(){
var $tds = $(this).find("td");
return ($tds.eq(0).text()=="foo" && $tds.eq(1).text()=="bar");
});
同样的代码更“解释”
$trs = jQuery('[id$="datagrid1"] tr').filter(function(){
var $first_td = $(this).find("td").eq(0); //First column
var $second_td = $(this).find("td").eq(1); //Second column
return ($first_td.text()=="foo" && $second_td.text()=="bar"); //Condition to filter
});
这将返回一组与所需条件匹配的
希望这有帮助。干杯我尝试了jerluc的建议,这段代码似乎很有效:jQuery('[id$=“datagrid1”]tr td:contains(foo)+td:contains(bar)
@StarCub,但正如您所提到的,它与单词不完全匹配。它也严格地不只是看第一列和第二列,如果你有更多的列,它会尝试匹配第二列和第三列,等等。谢谢你的回答。我只能选择一个答案,@Box9先回答。