我有多个div,我必须为每个div编写这样的代码,并让php通过循环$ NBR ++来改变id;在末尾。有没有更快的方法来写这一次,而不是每个div都有这个独特的?
// when $NBR = 1
<div class="playbutton<?php echo $NBR?>">
<script>
$(".playbutton<?php echo $NBR?>").click(function()
{ $(".playbutton<?php echo $NBR?>").hide();
$('#songpicture').attr("src", "<?php echo $thumb[$NBR]?>");
});
</script>
</div>
// when $NBR = 2
<div class="playbutton<?php echo $NBR?>">
<script>
$(".playbutton<?php echo $NBR?>").click(function()
{ $(".playbutton<?php echo $NBR?>").hide();
$('#songpicture').attr("src", "<?php echo $thumb[$NBR]?>");
});
</script>
</div>
这种情况持续了15次......等等.....所有的php变量都是用PHP设置在每个div的开头。
那么有没有一种方法可以将其压缩成一个可以写一次的代码?或者必须在每个div之后写出来?
感谢您的帮助!
答案 0 :(得分:5)
将其添加到顶部并删除所有其他脚本
<script>
$(function () {
$(".playback_divs").click(function() {
$(this).hide();
$('#songpicture').attr("src", $(this).data('thumb-nbr'));
});
}
</script>
并将您的html更改为,
<div class="playback_divs playbutton<?php echo $NBR?>" data-thumb-nbr="<?php echo $thumb[$NBR]?>">
请注意html更改
1)新的课程playback_divs
添加到div。
2)数据attr data-thumb-nbr
。