我搜索了一段时间,但找不到该问题的解决方案。
我正在使用JSP和Servlet。我运行一个JSP,其中动态生成一些代码。
启动程序时,我可以正确看到所有内容。实际上,我已经打开了网页的源代码,并且一切似乎都是正确的。
在该代码中,它出现一个ID为PAR1.1:ED的<td>
标记。
<.td id="PAR1.1:ED" >3700.0</td>
(我在此处故意添加了.。在代码:P中没有意义)
然后,我有一个脚本尝试在其中搜索该ID,但似乎不存在该脚本。
<script type="text/javascript">
$(document).ready(function() {
$(document).on("change", "input", function() {
if( $("#PAR1.1:ED").length ){
alert("exists");
}
else{
alert("doesn't exist");
}
});
});
</script>
如何使该标签ID被检测到?
非常感谢你!
最佳答案
问题在于结肠和经期。您需要escape them in your selector:
if ($("#PAR1\\.1\\:ED").length ){
alert("exists");
}
在JSF中,这也是一个常见问题,其中许多生成的ID内都带有冒号。虽然不禁止使用冒号作为ID,但它与CSS选择器中的伪类的含义冲突。
关于javascript - jQuery无法识别动态生成的ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33421842/