用jquery找不到元素

时间:2012-05-13 16:55:09

标签: javascript jquery

我在页面上有一个p标签列表,ID为:

item_1
item_2
item_3
etc.

在jquery函数中,我为id构建字符串,而不是想要更改它的某些值,但是它接触到jquery找不到具有此id的元素,但它在页面上有:

...
var itemId = '#item_' + itemId;
                            if ($(itemId).length > 0) {
                                alert("exist");
                            }
...

在itemId变量中ID很好。我在这里做错了也许我的方法是错的? 标记

<div>
       <a href="#"><p id="item_283">Counter</p></a>
</div>

5 个答案:

答案 0 :(得分:4)

由于过度使用var关键字,您似乎遇到了某种可变范围冲突。

请看这个小提琴 - http://jsfiddle.net/alnitak/acGmQ/,其中我声明了一个外部itemId,然后在一个函数中我复制了你的代码。

在该功能中,来自外部范围的原始itemId不再可用,它是undefined,因此您最终得到#item_undefined

相反,写一下:

var sel = '#item_' + itemId;
if ($(sel).length > 0) {
    alert("exist");
}

答案 1 :(得分:1)

var itemId = '#item_+' + itemId;

请注意_+

那不对

答案 2 :(得分:1)

你有没有尝试过:

var item = $('#item_'+itemId); if(item.length > 0).... 

答案 3 :(得分:0)

var itemId = '#item_' + itemId; // #item_+ << what +?
if ($(itemId).length > 0) {
   alert("exist");
}

答案 4 :(得分:0)

if($('#item_'+itemId))
{
alert('exist');
}