Javascript 根据其中子元素的文本值获取单行元素?
如何根据子元素的文本值获取单行元素?例如,如果我有以下内容:Javascript 根据其中子元素的文本值获取单行元素?,javascript,jquery,Javascript,Jquery,如何根据子元素的文本值获取单行元素?例如,如果我有以下内容: <div class="row"> <div class="a">AA</div> <div class="b">B</div> <div class="c">C</div> </div> <div class="row"> <div class="a">AA</div>
<div class="row">
<div class="a">AA</div>
<div class="b">B</div>
<div class="c">C</div>
</div>
<div class="row">
<div class="a">AA</div>
<div class="b">BB</div>
<div class="c">CC</div>
</div>
<div class="row">
<div class="a">AAA</div>
<div class="b">BB</div>
<div class="c">CC</div>
</div>
对于此类请求,您可以使用
:contains
选择器:
比如:
$('div.b:contains("AA")')
这将返回所有匹配项,然后您可以从中选择任何一项。对于此类请求,您可以使用
:contains
选择器:
比如:
$('div.b:contains("AA")')
这将返回所有匹配项,然后您可以从中选择任何一项。尝试使用包含选择器:
$('div:contains("AA")').parent()
尝试使用包含选择器:
$('div:contains("AA")').parent()
你应该结合使用
将匹配的元素集减少为与选择器匹配或通过函数测试的元素集
应要求
function getElements(valueForA, valueForB, valueForC){
return $('.row').filter(function(){
var _this = $(this);
var hasA = _this.has('div.a');
var hasB = _this.has('div.b');
var hasC = _this.has('div.c');
if(hasA && hasB && hasC){
return _this.find('div.a').text().trim() == valueForA
&& _this.find('div.b').text().trim() == valueForB
&& _this.find('div.c').text().trim() == valueForC
}
return false;
});
}
你应该结合使用
将匹配的元素集减少为与选择器匹配或通过函数测试的元素集
应要求
function getElements(valueForA, valueForB, valueForC){
return $('.row').filter(function(){
var _this = $(this);
var hasA = _this.has('div.a');
var hasB = _this.has('div.b');
var hasC = _this.has('div.c');
if(hasA && hasB && hasC){
return _this.find('div.a').text().trim() == valueForA
&& _this.find('div.b').text().trim() == valueForB
&& _this.find('div.c').text().trim() == valueForC
}
return false;
});
}
你能把它写成一个函数,它接受'AA','BB','CC'值并返回行吗?太棒了。我会在试用后立即选择您的答案。
hasb
变量应该是hasb
并且有两个delcaration。您可以将其编写为一个函数,它接受'AA',BB',CC'值并返回行吗?太棒了。试一试后,我会选择你的答案。hasb
变量应该是hasb
,并且有两个delcaration。我认为答案仍然取决于他想要的是准确的还是仅仅包含这些单词。但我猜他只想要第二排是的,只是第二排。我想要符合所有标准的行。我认为答案仍然取决于,他是想要精确的还是仅仅包含这些单词。但我猜他只想要第二排是的,只是第二排。我想要符合所有条件的行。