我遇到了我见过的最奇怪的问题。这已经成功了一千次,但现在我只是在这个看似无法解决的问题上碰壁了。
我在元素上有自定义数据属性:
<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
答案 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);
感谢您愿意提供帮助!