如果div不为空,则从dom中删除X.

时间:2015-02-26 03:07:32

标签: javascript jquery

如果.details-display不为空(在下面的示例中为true),则应删除.details-group。下面的代码有什么问题?

HTML

<div class="details-group">
    <span class="details">Details [+]</span>
    <div class="details-display">The connecting walkway floats above the second story of the Main hall, joining the North and the South wings.</div>
</div>

JS

if ( $('.details-group').find('.details-display').length ) {
    $(this).remove();
}

http://jsfiddle.net/8o49bnxL/

2 个答案:

答案 0 :(得分:4)

在您的代码段中,$(this)引用了窗口对象。您可以使用.details-group方法迭代.each()元素。这样做时,$(this)将引用当前的.details-group元素。

此外,元素.details-display没有任何子元素。如果要查看是否有任何文本,可以使用.text()方法。

Example Here

$('.details-group').each(function () {
    if ($(this).find('.details-display').text().trim().length) {
        $(this).remove();
    }
});

答案 1 :(得分:0)

简单地删除它有什么不对?

&#13;
&#13;
if ($('.details-group').find('.details-display').length) {

  $(".details-group").remove();

}
&#13;
&#13;
&#13;