Javascript 为什么IE8在JS字符串concat中添加空格?
我正在写一个快速脚本来显示和隐藏ul及其内容-基本上是一个下拉菜单。 我遇到的问题在下面的代码第2行:Javascript 为什么IE8在JS字符串concat中添加空格?,javascript,jquery,internet-explorer-8,Javascript,Jquery,Internet Explorer 8,我正在写一个快速脚本来显示和隐藏ul及其内容-基本上是一个下拉菜单。 我遇到的问题在下面的代码第2行: $('#mainMenu ul li').mouseenter(function() { var dropTab = 'ul.' + $(this).attr("id") + 'Dropdown'; alert(dropTab); $(dropTab).slideToggle(); }); 在FF中工作正常,但在IE8中,dropTab字符串在第二个和第三个元
$('#mainMenu ul li').mouseenter(function() {
var dropTab = 'ul.' + $(this).attr("id") + 'Dropdown';
alert(dropTab);
$(dropTab).slideToggle();
});
在FF中工作正常,但在IE8中,dropTab字符串在第二个和第三个元素之间有空格,即它输出:
ul.someId Dropdown
当我在寻找:
ul.someIdDropdown
正如我所说,它在FF中工作得很好,但我很好奇空格是从哪里来的,因为它会阻止函数的执行
欢迎您考虑另一种方法
< P>空白明显来自代码> $$(this).Atter(“ID”)< /C>方法。IE在返回时不能输入id。您可能希望尝试将该行更改为:var dropTab = 'ul.' + $.trim($(this).attr("id")) + 'Dropdown';
空白显然来自
$(this.attr(“id”)
方法的内部。IE在返回时不能输入id。您可能希望尝试将该行更改为:
var dropTab = 'ul.' + $.trim($(this).attr("id")) + 'Dropdown';
我同意soolhsinger的观点,不管怎样,你能再次检查一下你的“id”是否包含空格吗?这可能是一个微优化,但你应该能够使用
This.id
,而不是通过jQuery.fn.attr
访问id。请参阅以了解更多详细信息。我同意soolhsinger的观点,不管怎样,您可以再次检查您的“id”是否包含空格吗?这可能是一个微优化,但您应该能够使用This.id
,而不是通过jQuery.fn.attr
访问id。有关更多详细信息,请参阅。谢谢-意识到问题源于格式错误的xslt-稍后有几个xsl:text标记,这已排序。然而,滑动切换仍然不会合作。谢谢-意识到问题是由格式错误的xslt引起的-后来有几个xsl:text标记,这已经排序好了。然而,滑动切换仍然不会合作。无聊的。