Javascript 若div为空,则删除它并更改下一个div的类
一些生成的输出可以如下所示:Javascript 若div为空,则删除它并更改下一个div的类,javascript,jquery,Javascript,Jquery,一些生成的输出可以如下所示: <div class="fivecol"></div> <div class="sevencol">content</div> 这没用。有什么想法吗 $('.fivecol').each(function(i, div) { if (!div.html().trim()) { div.remove().next('sevencol').removeClass('sevencol').addCla
<div class="fivecol"></div>
<div class="sevencol">content</div>
这没用。有什么想法吗
$('.fivecol').each(function(i, div) {
if (!div.html().trim()) {
div.remove().next('sevencol').removeClass('sevencol').addClass('twelvecol');
}
});
基本上,我只是修复了一些语法错误,并将this
引用更改为正确的参数调用。让我知道这是怎么回事
最好的
-布莱恩
基本上,我只是修复了一些语法错误,并将this
引用更改为正确的参数调用。让我知道这是怎么回事
最好的
-Brian试试这个
$(function () {
$('.fivecol').each(function() {
if ($(this).html() =='') {
$(this).remove();
$('.sevencol').each(function(){
$(this).attr('class','twelvecol');
});
}
});
});
试试这个
$(function () {
$('.fivecol').each(function() {
if ($(this).html() =='') {
$(this).remove();
$('.sevencol').each(function(){
$(this).attr('class','twelvecol');
});
}
});
});
我们可以使用一些奇特的选择器技巧:
$(".fivecol:empty + .sevencol").attr("class", function(){
return $(this).prev().remove(), "twelvecol";
});
正如您可能猜到的,.fivecol:empty
尝试使用类fivecol
查找空元素。然后,它继续使用+
获取同级元素,该元素具有类.sevencol
一旦我们有了.sevencol
元素,我们就开始将其类值更改为twevelcol
。因为我们在这个函数中,我们知道找到了.fivecol:empty
,所以我们可以安全地删除它。最后,我们只需返回要分配在sevencol
位置的新类值
演示:我们可以使用一些奇特的选择器技巧:
$(".fivecol:empty + .sevencol").attr("class", function(){
return $(this).prev().remove(), "twelvecol";
});
正如您可能猜到的,.fivecol:empty
尝试使用类fivecol
查找空元素。然后,它继续使用+
获取同级元素,该元素具有类.sevencol
一旦我们有了.sevencol
元素,我们就开始将其类值更改为twevelcol
。因为我们在这个函数中,我们知道找到了.fivecol:empty
,所以我们可以安全地删除它。最后,我们只需返回要分配在sevencol
位置的新类值
演示:
演示:
演示:if条件缺少一个结束(
)
。if中也缺少结束}括号condition@nhahtdh感谢您将其添加到伪代码中,仍然不起作用。这是基于您的解决方案的另一个解决方案:if条件缺少一个close)
。if中也缺少close}括号condition@nhahtdh感谢您将其添加到伪代码中,仍然不起作用。这是基于您的解决方案的另一个解决方案:请不要在答案上添加签名。@bwheeler96-获取此错误“未捕获的TypeError:Object”没有方法“html”,请不要在答案上添加签名。@bwheeler96-获取此错误“未捕获的TypeError:Object”没有方法“html”看看最后一行,这就是神奇的地方。你是如何检查它的,是通过查看页面sourcedev tools和它没有像.twelvecol那样跨越宽度的事实。请看最后一行,这是神奇的地方。您是如何检查它的,是通过查看sourcedev tools页面以及它没有像.twelvecol那样跨越宽度的事实来检查的。@DirtyBirdDesign:确实如此。添加了一个演示。@DirtyBirdDesign:您的问题显示了直接的兄弟姐妹。是真的吗?如果没有,请将+
更改为~
,尽管这假定每组..col
元素都有单独的容器。在您的演示中可以使用,但在我这方面有一些不允许使用的功能@DirtyBirdDesign:我得到404的链接。@DirtyBirdDesign:我在那个页面上没有看到任何空的fivecol
元素。它们都有嵌套元素。@DirtyBirdDesign:当然有。添加了一个演示。@DirtyBirdDesign:您的问题显示了直接的兄弟姐妹。是真的吗?如果没有,请将+
更改为~
,尽管这假定每组..col
元素都有单独的容器。在您的演示中可以使用,但在我这方面有一些不允许使用的功能@DirtyBirdDesign:我得到404的链接。@DirtyBirdDesign:我在那个页面上没有看到任何空的fivecol
元素。它们都有嵌套的元素。