代码:
<script src="../jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function hello()
{
$('#hello'+1).hide();
}
</script>
<?php
$d=1;
$str="<input onclick='hello()' type='text' id='hello".$d."' />";
echo $str;
?>
在上面的代码中,文本框应该消失,但不是,为什么? 我的id选择器错了吗? 控制台说: - $未定义,所以我尝试了谷歌cdn for jquery,它运作起来,对你们所有人来说都很重要。
答案 0 :(得分:1)
我确定问题是你的jQuery
没有加载,因为它工作正常,将jquery路径更改为:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
答案 1 :(得分:1)
既然你说你的id可以在任何"hello" + N
中改变,我建议在jQuery中使用 startsWith CSS选择器:
$(document).on('click', 'input[id^="hello"]', function(e) {
$(this).hide();
});