注入PHP变量的jQuery选择器不返回任何内容

时间:2014-08-14 10:28:25

标签: javascript php jquery

我遇到了我见过的最奇怪的问题。这已经成功了一千次,但现在我只是在这个看似无法解决的问题上碰壁了。

我在元素上有自定义数据属性:

<a href="#" data-pbid="5">My anchor</a>

我的目标是提醒并发现找到的元素数量:

var myAnchor = $("a[data-pbid=5]");
alert(myAnchor.length) //Alerts "1".

但是,当我将其更改为注入的PHP变量时,它不起作用: (我在这里混合了一些代码,但你知道它是什么。)

var_dump($pbid); //returns string(1):"5"

<a href="#" data-pbid="<?php echo $pbid?>">My anchor</a>

var myAnchor = $("a[data-pbid=<?php echo $pbid?>]");
alert(myAnchor.length) //Alerts "0".

这到底是怎么回事?

提前致谢,

Rasmus Dencker

2 个答案:

答案 0 :(得分:0)

可能是因为缺少分号或者变量和PHP结束标记之间缺少空格。 改变这个

<a href="#" data-pbid="<?php echo $pbid?>">My anchor</a><a href="#" data-pbid="<?php echo $pbid; ?>">My anchor</a>

答案 1 :(得分:0)

我找到了答案。在OP中我忘了提到元素是通过ajax加载和注入的事实,并且没有显式设置变量我在代码的生成和执行之间有点滞后。作为临时黑客,我只是加入了

setTimeout(function(){ 
                    //the stuff that had to be done
                     }, 500);

感谢您愿意提供帮助!