如何从匹配元素列表中选择子元素?
这个确实让我感到困惑:
我有一组“项目”,我想选择每组中的第一个
。
<div class="item">
<table>
<tr>
<td>
<h1>Test</h1>
<pre>0</pre>
<pre>
<code>1</code>
</pre>
<pre>
<code>2</code>
</pre>
</td>
</tr>
</table>
</div>
<div class="item">
<pre>
<code>3</code>
</pre>
<pre>
<code>4</code>
</pre>
</div>
<div class="item">
<pre>
<code>5</code>
</pre>
</div>
<div id="output"></div>
我的 jQuery 代码如下所示:
$('.item:has(pre)').each(function(){
text = $(this).filter('pre').html()
.replace(/</g,'<').replace(/>/g,'>') + "<br><br>";
$('#output').append(text);
});
我希望输出是
块的内容,但我什么也没得到。如果我对匹配的元素使用
.size()
函数,我每次都会得到 0。
上述代码可以在jsFiddle上找到: http://jsfiddle.net/george_edison/syLMD/8/< /a>
This one has really got me confused:
I have a group of 'items' and I want to select the first <pre>
in each group.
<div class="item">
<table>
<tr>
<td>
<h1>Test</h1>
<pre>0</pre>
<pre>
<code>1</code>
</pre>
<pre>
<code>2</code>
</pre>
</td>
</tr>
</table>
</div>
<div class="item">
<pre>
<code>3</code>
</pre>
<pre>
<code>4</code>
</pre>
</div>
<div class="item">
<pre>
<code>5</code>
</pre>
</div>
<div id="output"></div>
My jQuery code looks like this:
$('.item:has(pre)').each(function(){
text = $(this).filter('pre').html()
.replace(/</g,'<').replace(/>/g,'>') + "<br><br>";
$('#output').append(text);
});
I expect the output to be the contents of the <pre>
blocks, but instead, I get nothing. If I use the .size()
function on the matched elements, I get 0 every time.
The above code can be found on jsFiddle: http://jsfiddle.net/george_edison/syLMD/8/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
.filter()
仅查看当前元素集,而.find()
查看后代元素。.filter()
only looks at the current set of elements, whereas.find()
looks at the descendants.