javascript - jQuery $(this) 选择器不适用于条件语句

标签 javascript jquery

我有一个脚本,如果元素在一段时间内为空,则该脚本应该包含在带有默认短语的元素中。如果我为每个元素创建一个单独的 if 语句,它会起作用,但当我尝试将它与 $(this) 组合在一个语句中时,它会不起作用。

My Fiddle

HTML

<div class="data-block">
    <ul>
        <li><h2>One</h2></li>
        <li><h2></h2></li>
    </ul>
</div>
<div class="data-block">
    <ul>
        <li><h2>Two</h2></li>
        <li><h2></h2></li>
    </ul>
</div>
<div class="data-block">
    <ul>
        <li><h2>Three</h2></li>
        <li><h2></h2></li>
    </ul>
</div>

Javascript

setTimeout(function() {
    if ($.trim($(".datablock li:last-child h2").html()) == '') {
        $(this).text('Not Applicable');
    };
}, 1500);

最佳答案

setTimeout 上下文中 this 始终引用浏览器对象,并且您有拼写错误 .datablock

setTimeout(function() {
    $ele = $(".data-block li:last-child h2");
    if ($.trim($ele.html()) == '') {
        $ele.text('Not Applicable');
    };
}, 1500);

关于javascript - jQuery $(this) 选择器不适用于条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967231/

相关文章:

javascript - slideToggle 隐藏高度不为零

javascript - jQuery.html() 的 html 格式错误

javascript - 为什么 [].anyName 给出未定义的。但它不适用于其他对象,如 "{}"

javascript - session 存储的逻辑问题 - 记住刷新时的类 - jQuery

javascript - 如何在 Angular 中显示 4 位数年份?

javascript - jquery:卸载还是卸载之前?

javascript - 新选项 json 对象 server.register hapijs 方法的格式是什么

javascript - 按顺序向数组中的元素添加和删除类

javascript - 通过js键码允许带有数值的点/句号

jquery - 使 LI 元素跟随链接