0

代码:

<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 选择器错了吗?控制台说:-$ 未定义,所以我尝试了 jquery 的 google cdn 并且它有效,谢谢你们所有人。

4

2 回答 2

1

我确定问题是您jQuery的未加载,因为它工作正常,将 jquery 路径更改为此:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>

在这里演示

于 2013-09-14T20:02:01.363 回答
1

既然你说你的 id 可以改变任何"hello" + N我建议在 jQuery 中使用startsWith CSS 选择器:

$(document).on('click', 'input[id^="hello"]', function(e) {
    $(this).hide();
});
于 2013-09-14T20:03:10.353 回答