某些生成的输出可以如下:
<div class="fivecol"></div>
<div class="sevencol">content</div>
如果div.fivecol为空,我想删除它并将div.sevencol更改为div.twelvecol
$('.fivecol').each(function() {
if ($(this).html() ==''){
$(this).remove().next('sevencol').removeClass('sevencol').addClass('twelvecol');
}
});
没有做到这一点。有什么想法吗?
答案 0 :(得分:4)
$('.fivecol:empty + .sevencol').toggleClass('sevencol twelvecol')
.prev()
.remove();
答案 1 :(得分:0)
$('.fivecol').each(function(i, div) {
if (!div.html().trim()) {
div.remove().next('sevencol').removeClass('sevencol').addClass('twelvecol');
}
});
基本上我只修复了一些语法错误,并将this
引用更改为正确的参数调用。让我知道它是如何工作的。
最佳,
-Brian
答案 2 :(得分:0)
试试这个,
$(function () {
$('.fivecol').each(function() {
if ($(this).html() =='') {
$(this).remove();
$('.sevencol').each(function(){
$(this).attr('class','twelvecol');
});
}
});
});
答案 3 :(得分:0)
我们可以使用一些花哨的选择器技巧:
$(".fivecol:empty + .sevencol").attr("class", function(){
return $(this).prev().remove(), "twelvecol";
});
正如您可能猜到的那样,.fivecol:empty
尝试使用类fivecol
查找空元素。然后使用具有类+
的{{1}}继续抓取兄弟元素。
我们拥有.sevencol
元素后,我们开始将其类值更改为.sevencol
。由于我们处于此功能中,因此我们知道找到了twelvecol
,因此我们可以安全地删除它。最后,我们只需返回要在.fivecol:empty
。