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