2015-06-21 82 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);