javascript - 匹配父元素内的文本

标签 javascript jquery html

我试图检查 2 个 div 是否包含相同的文本,如果包含,则向父 div 添加样式。 我可以使用下面的代码正常工作,但我的问题是 div 都在寻找匹配项,而不仅仅是父级中的 div?如果你看下面的内容

<div class="infobox">
    <div class="date">8</div>
    <div class="secdate">8</div>
</div>
<div class="infobox">
    <div class="date">1</div>
    <div class="secdate">11</div>
</div>
<div class="infobox">
    <div class="date">8</div>
    <div class="secdate">11</div>
</div>

和 jQuery

jQuery(function ($) {
    $('.date').each(function () {
        var myhtml = $(this).html().split(' ')[0];
        var ele = $(this);
        $('.secdate').each(function () {
            myhtml == $(this).html().split(' ')[0] ? $(ele).parent().css('background', '#ffff00') : ""
        })
    })
});

Fiddle

第三个 div 正在应用样式,但它不应该应用,因为其中的 2 个 div 不匹配?

最佳答案

这看起来简单得多:

$('.infobox').each(function () {
    if ($(this).find('.date').text() == $(this).find('.secdate').text()) $(this).css('background', '#ffff00')
})

<强> jsFiddle example

循环父级(信息框),然后将日期子级的文本与秒日期子级的文本进行比较。

关于javascript - 匹配父元素内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307188/

相关文章:

html - 在 Opera 中堆叠 HTML 无序列表

css - 如何使网页上的文字看起来是可读的英文,但实际上却难以辨认?

javascript - 为什么将 "0"与三元运算符一起使用会返回第一个值?

javascript - 填充矩形();即使 x 和 y 是动态的,也只生成一次

javascript - AngularJs 从未定义的 Controller 调用服务函数

javascript - parent() 不适用于事件元素

jquery - 单选框,获取勾选的值【iCheck】

javascript - 获取要替换的独立正斜杠,并用 span 标签包围

javascript - 如何将 1 添加到 JavaScript 中表示为字符串的大整数?

标签内容中的 HTML 图像标签未呈现