0

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

4 回答 4

3

您应该以这种方式给每个<div>anid和 attach 处理程序。

Javascript 并不真正关心您在 HTML 中的哪个位置编写它。将所有的 Javascript 放在一个脚本文件中,并通过 className/id 引用 DOM 元素。

于 2011-03-02T17:09:43.160 回答
1

只需给每个 DIV 一个唯一的 id,并在您的选择器中使用该 id。

于 2011-03-02T17:09:01.400 回答
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/

于 2011-03-02T17:08:07.813 回答
0

一切都是动态生成的(这就是为什么我问如何在不接触 DOM 的情况下更改我的 JS 代码!)。

无论如何,我找到了最好的方法。

<?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>  

不完美,但它至少可以工作(并且可能会破坏,但机会非常低)。

于 2011-03-02T18:54:44.740 回答