在鼠标指针下获取单词

时间:2012-07-07 07:20:59

标签: javascript html ajax browser

根据这个(get a word under cursor using JavaScript)链接我可以在鼠标指针下得到单词。这对英语很好。 我改变它(阿拉伯语)

<p>سلام به همه</p>
Word: <span id="word"></span>

<script type="text/javascript">
    $(function() {
        // wrap words in spans
        $('p').each(function() {
            var $this = $(this);
            $this.html($this.text().replace(/[^\x00-\x80]+/g, "<span>$1</span>"));
        });

        // bind to each span
        $('p span').hover(
            function() { $('#word').text($(this).css('background-color','#ffff66').text()); },
            function() { $('#word').text(''); $(this).css('background-color',''); }
        );
    });

但每个单词返回'$ 1'。 请帮忙!

1 个答案:

答案 0 :(得分:3)

需要原始正则表达式中出现的括号。在正则表达式表示法中,括号形成一个“匹配组”,替换为替换字符串中的“$1”。

$this.html($this.text().replace(/([^\x00-\x80]+)/g, "<span>$1</span>"));

正则表达式中没有任何匹配组,$1只会被视为一个字面的美元符号和一个。

当您有多个带括号的匹配组时,这些组将用于按照打开匹配组的顺序替换带有美元符号的编号占位符(第一个匹配组替换$1,第二个替换{ {1}}等。)