5
4

1 に答える 1

6

あなたの問題を正しく理解していれば、これはうまくいくはずです。正規表現はとにかくすべてのテキストをスキャンするため、要素を繰り返し処理する理由がわかりません。

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js" type="text/javascript"></script>
        <script>
        function wrap( str ) {
            return '<a href="' + str + '">' + str + '<\/a>';
        };
        function replaceText() {
            $(".tweet").each( function(){
              $(this).html($(this).html().replace(/\bhttp[^ ]+/ig, wrap));
            })

        }
        $(document).ready(replaceText);
        </script>
    </head>
    <body>
        <div class="tweet"> test 1 http://example.com/path </div>
        <div class="tweet"> test 2 http://example.com/path </div>
    </body>
</html>
于 2012-08-09T15:42:57.240 に答える