我运行这个 jQuery (1.8.3) 代码,即使长度大于 1,也总是会收到“in”警报。
我正在做的是动态地将元素添加到菜单中,if 是为了确保该元素尚不存在。
我也试过== 0
,=== 0
但结果是一样的......
这是一个 JS 小提琴:http: //jsfiddle.net/mHhwq/4/
$(".sidebarit a.olink").click(function(event){
iframe_url = $(this).attr("href");
sidebar_id = '#' + iframe_url.replace(/[/.]/g, '');
alert('sidebar_id: ' + sidebar_id);
// create the sidebar if it doesn't exist
if ($(sidebar_id).length < 1) {
alert("in");
$("#sidebar_nav ul").append('<li></li>');
$("#sidebar_content").append('<div id="' + sidebar_id + '" style="display:none;"></div></div>');
} else { alert("out"); }
// don't follow the link
event.preventDefault();
});
在 FireBug 中,我看到长度等于 1,但仍进入块。
我究竟做错了什么?
更新:
我的错误是我#
在错误的地方添加了...