var myHTML = '<div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div><div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div><div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div>';
var obj = $(myHTML).get(0);
var totalCount = $(obj).find('.infoWindowParagraph').length;
console.log('Total p.infoWindowParagraph tags in the FIRST mapInfoWindow div is : ' + totalCount);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
所以我有一个类似于以下内容的 HTML 字符串,并且我试图获取第一个 .mapInfoWindow
div 中 .infoWindowParagraph
标记的计数。无论出于何种原因,它都没有按我的预期工作,我也不知道为什么。
HTML
<div class="mapInfoWindow">
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
</div>
<div class="mapInfoWindow">
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
</div>
<div class="mapInfoWindow">
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
<p class="infoWindowParagraph">DATA HERE</p>
</div>
jQuery/JavaScript
var testObj = $([string from above]);
console.log(testObj.find('.mapInfoWindow').find('.infoWindowParagraph').length);
-- returns 0 every time should return 4
-- also tried below trying to focus on first index (first instance of mapInfoWindow div in object returned)
var testObj = $([string from above]).get(0).find('.infoWindowParagraph').length);
-- still returns 0
更新
好吧,该死,我现在可以使用了。很抱歉在这里浪费时间,忽略了显而易见的事情!
最佳答案
你可以试试这个:
var testObj = '<div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div><div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div><div class="mapInfoWindow"><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p><p class="infoWindowParagraph">DATA HERE</p></div>';
console.log($(testObj).first('.mapInfoWindow').children('.infoWindowParagraph').length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - jQuery .find() 方法 - 在转换为 jquery 对象的字符串中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395271/