1

p在页面上有一个带有 id 的标签列表,例如:

item_1
item_2
item_3
etc.

在 jquery 函数中,我为 id 构建字符串,然后我想更改它的一些值,但它接缝 jquery 找不到具有此 id 的元素,但它在页面上:

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

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

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

5 回答 5

4

var由于过度使用关键字,您似乎有某种变量范围冲突。

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

在该函数内部,itemId外部范围的原始数据不再可用,它是undefined,所以你最终得到#item_undefined.

相反,写:

var sel = '#item_' + itemId;
if ($(sel).length > 0) {
    alert("exist");
}
于 2012-05-13T17:03:28.993 回答
1

你试过了吗:

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

?

于 2012-05-13T17:00:56.060 回答
1
var itemId = '#item_+' + itemId;

注意_+

那是不对的

于 2012-05-13T16:56:31.050 回答
0
var itemId = '#item_' + itemId; // #item_+ << what +?
if ($(itemId).length > 0) {
   alert("exist");
}
于 2012-05-13T16:56:44.657 回答
0
if($('#item_'+itemId))
{
alert('exist');
}
于 2012-05-13T18:04:40.833 回答