Javascript .split()中断代码

Javascript .split()中断代码,javascript,jquery,Javascript,Jquery,在下面的代码中,注释掉的行是:var displayPieces=displayWhole.split;中断.子菜单内容区域中发生的内容。如果我只注释掉那一行,它就工作得很好。有什么想法吗 $(".subMenuHeader").each(function() { var displayWhole = $(this).attr('display'); //var displayPieces = displayWhole.split(" "); }); $(".subMenuCon

在下面的代码中,注释掉的行是:var displayPieces=displayWhole.split;中断.子菜单内容区域中发生的内容。如果我只注释掉那一行,它就工作得很好。有什么想法吗

$(".subMenuHeader").each(function() {
    var displayWhole = $(this).attr('display');
    //var displayPieces = displayWhole.split(" ");
});
$(".subMenuContent").each(function() {
    $(this).prepend('<div class="subMenuShineLeft"></div>' +
    '<div class="subMenuShineRight"></div>');
});
您的问题是由于DisplayAll未定义

如果您想从元素的样式中获取元素的显示以检查它是块还是无,请不要使用attr,而是使用css。像这样:

var displayWhole = $(this).css('display');
attr函数将获取HTML元素的属性。但display不是一个HTML属性。它始终是“样式”属性的一部分。您是否使用过:

var displayWhole = $(this).attr('style');
然后你就可以把整个样式作为一个字符串来处理了

另一方面,.css jQuery函数的存在使您可以更容易地获取样式属性的各个部分

您的问题是由于DisplayAll未定义

如果您想从元素的样式中获取元素的显示以检查它是块还是无,请不要使用attr,而是使用css。像这样:

var displayWhole = $(this).css('display');
attr函数将获取HTML元素的属性。但display不是一个HTML属性。它始终是“样式”属性的一部分。您是否使用过:

var displayWhole = $(this).attr('style');
然后你就可以把整个样式作为一个字符串来处理了


另一方面,.css jQuery函数的存在使您可以更容易地获取样式属性的各个部分

控制台中出现了什么错误?您是否可以发布html或至少显示属性的内容?displayWhole包含哪些内容?您是否检查了控制台?因为我得到了:uncaughttypeerror:无法调用undefined的方法'split',这告诉我至少有一个.submonuHeader元素没有属性显示。你是说$this.css'display'?你可能想用这个-$this.css'display'。这仍然没有多大意义。它在控制台中给了您什么错误?您是否可以发布html或至少显示属性的内容?displayWhole包含什么?您是否检查了控制台?因为我得到了:uncaughttypeerror:无法调用undefined的方法'split',这告诉我至少有一个.submonuHeader元素没有属性显示。你是说$this.css'display'?你可能想用这个-$this.css'display'。尽管如此,它还是没有多大意义。displayWhole确实在循环的一个元素中没有定义。我已经盯着代码看了一段时间,但没有看到它。displayWhole确实在循环的一个元素中没有定义。我已经盯着代码看了一段时间,没看到。