Javascript 使用jquery获取子节点中的文本

Javascript 使用jquery获取子节点中的文本,javascript,jquery,dom,Javascript,Jquery,Dom,我有以下html页面结构: <div class="result-row clearfix"> <span>Name1</span> <span>city1</span> <span>phone1</span> <span>details1</span> </div> <div class="result-row clearfix">

我有以下html页面结构:

<div class="result-row clearfix">
    <span>Name1</span>
    <span>city1</span>
    <span>phone1</span>
    <span>details1</span>
</div>
<div class="result-row clearfix">
    <span>Name2</span>
    <span>city2</span>
    <span>phone2</span>
    <span>details2</span>
</div>
... 
... many such similar divs

名称1
城市1
电话1
细节1
姓名2
城市2
电话2
细节2
... 
... 许多类似的div
我从用户那里得到了简单的输入字段

<label for="name">Name</label> <br />
<input type="text" name="name" autocomplete="off" /> <br />

<label for="city">City</label> <br />
<input type="text" name="city" autocomplete="off" /> <br />
Name

城市

在它的模糊事件中,我想使所有没有要搜索的文本的div不可见,只显示匹配的div(即在span标记中有文本的div)

我无法使用jquery检索和匹配此内容。我尝试了以下方法:

var nodes = $(".result-row");
console.log("Nodes length: "+nodes.length);  // Displays the correct number of child nodes

for(var i=0;i < nodes.length; i++) {
    var cur = nodes[i];
    console.log(cur);  // Displays '#text' in browser js console log.
    console.log(cur.childNodes[0]);  // Gives undefined. Expecting to get the 1st span tag here.
}
var节点=$(“.result行”);
console.log(“节点长度:”+Nodes.length);//显示正确的子节点数
对于(var i=0;i
编辑 我需要显示具有匹配文本范围的行。已经更新了一点html,请参考更新后的问题


我能够得到完整的数据作为所有跨度的组合文本。有没有办法获取特定div中的跨度数组?

节点[i]是一个jquery对象,我想它没有childNodes属性。。因此,您应该使用节点[i].get(0).childNodes来代替…

节点[i]是一个jquery对象,我想它没有childNodes属性。。因此,您应该使用节点[i].get(0).childNodes来代替…

您可以使用
:contains
选择器:

var $row = $('.result-row');
$('input[type=text]').blur(function() {
    var val = this.value;
    $row.hide();
    $row.has('span:contains("'+val+'")').show()
})

您可以使用
:包含
选择器:

var $row = $('.result-row');
$('input[type=text]').blur(function() {
    var val = this.value;
    $row.hide();
    $row.has('span:contains("'+val+'")').show()
})

这里我不确定,但也许你应该做一些类似于
节点的事情。对于实际元素,获取(i)
吗?我不确定,但也许你应该做一些类似于
节点的事情。对于实际元素,获取(i)
这样的事情?嘿,这很有帮助。但是,我已经缩短了问题的时间。有5个这样的输入字段,每个div有5个这样的跨度。如果相应跨度的文本匹配,我想隐藏div行。希望我清楚。如果你有任何疑问,请告诉我。谢谢,这很有帮助。但是,我已经缩短了问题的时间。有5个这样的输入字段,每个div有5个这样的跨度。如果相应跨度的文本匹配,我想隐藏div行。希望我清楚。如果你有任何疑问,请告诉我。谢谢,谢谢。这也解决了我的问题。现在,我可以使用
get()
轻松地遍历dom。缺少这部分:)谢谢。这也解决了我的问题。现在,我可以使用
get()
轻松地遍历dom。缺少此部分:)