.split()打破了代码

时间:2013-08-13 18:11:23

标签: javascript jquery

在下面的代码中,注释掉的行:var displayPieces = displayWhole.split(" ");打破.subMenuContent区域中发生的事情。如果我只注释掉那一行,它就可以了。有什么想法吗?

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

1 个答案:

答案 0 :(得分:5)

您的问题归因于displayWholeundefined

如果您想从其样式中提取元素display以检查它是block还是none,请不要使用attr,请使用css 。像这样:

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

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

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

然后你将整个style作为一个字符串,供你继续使用。

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