javascript - jQuery .find() 方法 - 在转换为 jquery 对象的字符串中搜索

标签 javascript jquery

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/

相关文章:

javascript - 如何禁用页面的滚动条?

javascript - 将 websocket 连接映射到数据库中的用户的最佳方法是什么?

javascript - Ajax 调用困惑

jquery 动画问题

jquery - Activeadmin 停止我的 jQuery 工作

javascript - 函数仅适用于 <pre> 元素

javascript - 使用 alphaMap 不会在我的 Material 中提供透明度

javascript - 未捕获的类型错误 : Cannot read property 'get' of undefined

javascript - Emacs 中的 Node REPL 打印我的输入

javascript - 以随机间隔将 HTML 元素放置在 5 个页面之一上? JavaScript、jQuery、MySQL 或 PHP