jQuery next() - 选择器

时间:2011-03-02 17:03:45

标签: javascript jquery next

我在它们下面有几组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;)

4 个答案:

答案 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>  

不完美,但它至少起作用(并且可能会破坏,但可能性很低)。