2015-06-21 79 views
0

我有一个脚本,如果它在一段时间内是空的,那么在默认短语的元素中应该是这样。如果我为每个元素分别创建一个单独的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); 
+3

你期望'this'指的是什么? –

回答

2

setTimeout方面this总是指浏览器对象和你有错字.datablock

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