我在它们下面有几组javascript代码和div:
<script type='text/javascript'>
jQuery(document).ready(function(){
jQuery(".display").something({
/*myfunction*/
});
});
</script>
<div class="display"></div>
<script type='text/javascript'>
jQuery(document).ready(function(){
jQuery(".display").something({
/*myfunction*/
});
});
</script>
<div class="display"></div>
(...)
有没有办法在精确JS之后只选择.display div?我一直在考虑next()但是很难附加到document.ready;)
答案 0 :(得分:3)
您应该为每个<div>
提供一个id
并以此方式附加处理程序。
Javascript并不关心您编写HTML的位置。将所有Javascript放在脚本文件中,并按className / id引用DOM元素。
答案 1 :(得分:1)
只需为每个DIV指定一个唯一ID,并在选择器中使用该ID。
答案 2 :(得分:0)
您可以为脚本标记指定唯一ID并调用next():
<script id="script-tag-1">
jQuery(function() {
var node = $('#script-tag-1').next('.display');
});
</script>
<div><!-- content --></div>
jsFiddle:http://jsfiddle.net/SYgEX/
答案 3 :(得分:0)
一切都是动态生成的(这就是为什么我问如何更改我的JS代码,而不涉及DOM!)。
无论如何,我找到了最好的方法。<?php $id = rand(); ?>
<script type='text/javascript'>
jQuery(document).ready(function(){
jQuery(".display-"<?php echo $id;?>").something({
/*myfunction*/
});
});
</script>
<div class="display-<?php echo $id;?>"></div>
不完美,但它至少起作用(并且可能会破坏,但可能性很低)。