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

You should give each <div> an id and attach handlers that way.

Javascript doesn't really care where within HTML you write it. Put all your Javascript in a script file and refer to DOM elements by className/id.

于 2011-03-02T17:09:43.160 に答える
1

各 DIV に一意の ID を指定し、その ID をセレクターで使用するだけです。

于 2011-03-02T17:09:01.400 に答える
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 に答える
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 に答える