我正在尝试提示单击一个div的文本,该div在单击时处于for循环中。有很多具有相同id的div,如果我点击第3个或者2点击第2个,我想得到3。如何使用以下代码或必须添加的内容?谢谢。
<? for($i=0; $i<5; $i++) { ?>
<div id="abc"><? echo $i ?></div>
<? } ?>
<script>
$(function() {
$("#abc").click(function() {
var thevar= $("#abc").text();
alert (thevar);
}
</script>
答案 0 :(得分:1)
您应该在页面上有唯一的ID。由于此$("#abc").text()
始终返回匹配选择器中第一个元素的值。而是使用abc
作为类。要在当前上下文中引用元素,请使用$(this)
:
var thevar=$(this).text();
答案 1 :(得分:1)
尝试使用class
而不是在该循环中使用id
,
<? for($i=0; $i<5; $i++) { ?>
<div class="abc"><? echo $i ?></div>
<? } ?>
<script>
$(function() {
$(".abc").click(function()
{
var thevar= $(this).text();
alert (thevar);
});
});
</script>
答案 2 :(得分:1)
您的代码中存在语法错误。缺少});
。 Id应该是唯一的。
<? for($i = 0;$i<5;$i++) { ?>
<div class="abc"><? echo $i ?></div> //change
<? } ?>
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
<script>
$(function() {
$(".abc").click(function()
{
var thevar= $(this).text(); //change
alert (thevar);
});//was missing
});//was missing
</script>