一尘不染

在鼠标指针下获取单词

ajax

根据这个(使用JavaScript在光标下找到一个单词d-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”。请帮忙!


阅读 216

收藏
2020-07-26

共1个答案

一尘不染

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

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

正则表达式中没有任何匹配组,则将$1其简单地视为一个文字美元符号和一个。

当您有多个带括号的匹配组时,这些组将用于按打开匹配组的顺序替换以美元符号标记的占位符(第一个匹配组替换$1,第二个替换组,依此$2类推)。

2020-07-26