我有以下代码:
var snippet = $('<div><span class="findme">text</span></div><div class="findme2"></div>');
alert(snippet.find('.findme2').length);
警报显示为0.
如何通过JQuery找到findme2 div?假设我无法修改上述HTML代码段的结构(例如:添加DIV以包装代码段)
更新
我必须使用Jquery 1.11.x。
答案 0 :(得分:3)
您需要使用 filter()
,否则会在元素内搜索
var snippet = $('<div><span class="findme">text</span></div><div class="findme2"></div>');
alert(snippet.filter('.findme2').length);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
<小时/> 或者使用元素换行,然后使用
find()
var snippet = $('<div><span class="findme">text</span></div><div class="findme2"></div>');
alert($('<div>', {
html: snippet
}).find('.findme2').length);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
试试这个
与Jquery 1.11.x兼容。
var snippet = $('<div><span class="findme">text</span></div>').append('<div class="findme2"></div>');
alert(snippet.find('.findme2').length);
<强> Fiddle 强>
答案 2 :(得分:0)
您可以使用filter()
代替find()
var snippet = $('<div><span class="findme">text</span></div><div class="findme2"></div>');
alert(snippet.filter('.findme2').length);
注意:filter将从所选元素中选择元素的子集 find将选择所选元素的后代