jquery捕获单词值

问题描述

| 有没有办法用jquery或javascript捕获单词值?在示例中: 搜索:5月份的行情 当我单击\“搜索:\”或\“行情\”或任何单词时,是否提示该单词文字? 更新: 这就是我的意思: http://jsfiddle.net/BE68L/ 有没有一种方法可以获取文本值而无需将其包装到某些html元素中?     

解决方法

        如果不将其包装在HTML节点中,则无法执行此操作。您可以将一些Javascript魔术应用于\“ unwrapped text \”,这基本上意味着a0。可能看起来像:
$(\'#foo\').contents().each(function(_,node) {
    var nodelist = node.textContent.split(/\\s/).map(function( word ) {
        return $(\'<span>\',{
            text: word + \' \',click: function() {
                alert( $(this).text() );
            }
        }).get(0);
    });

    $(\'#foo\').empty().append(nodelist);
});
演示:http://jsfiddle.net/LFCWp/ 我只是写下来。仍有大量的优化潜力,但它应该使您基本了解如何实现这一目标。     ,        要在较长的段落中查找特定的单词,您必须创建Range对象和TextRange \才能在段落中找到特定单词的坐标。映射每个单词的坐标后,即可将窗口单击事件坐标与该范围内的单词匹配。 检索DOM textnode位置时的问题与您所追求的类似。 简而言之,我认为即使在较长的段落中,准确地获得被单击的单词也应该是完全可行的,但这当然不是很容易,而且对于较长的文本而言,它最终可能会非常低效。 对于mozilla / webkit浏览器进行编辑,您可以这样操作:
$(document).ready(function() {
    $(\"body\").click(function(){
         var s = window.getSelection();
        s.modify(\'extend\',\'backward\',\'word\');        
        var b = s.toString();

        s.modify(\'extend\',\'forward\',\'word\');
        var a = s.toString();
        s.modify(\'move\',\'character\');
         alert(b+a);

    });
});
例: http://jsfiddle.net/niklasvh/rD2uE/ 但是,它在IE <= 8上不起作用,您可能需要使用IE选择项来做另一种解决方案。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...