1

在下面的代码中,注释掉的行:var displayPieces = displayWhole.split(" ");Breaks what happens in .subMenuContent area。如果我只注释掉那一行,它工作得很好。有任何想法吗?

$(".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>');
});
4

1 回答 1

5

displayWhole你的问题是由于undefined.

如果你想display从它的样式中获取一个元素来检查它是block还是none,不要使用attr,使用css。像这样:

var displayWhole = $(this).css('display');

.attr()函数将为您获取 HTML 元素的属性,好吧。但display不是 HTML 属性。它始终是style属性的一部分。您是否使用过:

var displayWhole = $(this).attr('style');

然后你会把整个style作为一个字符串,供你处理。

.css()另一方面,jQuery 函数的存在使您可以更轻松地获取属性的各个部分;style

于 2013-08-13T18:15:14.050 回答