jQuery $(this)选择器不使用条件语句

时间:2015-06-21 17:18:04

标签: 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);

2 个答案:

答案 0 :(得分:2)

setTimeout上下文中this总是引用浏览器对象而你输错了.datablock

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

答案 1 :(得分:0)

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