2

我可以使用此代码找到元素的文本。但是如果鼠标悬停在该单词上一段时间,我想在页面中的任何位置找到一个单词。

$(document).bind("mouseover", function (e) {
    var event = e;
    setTimeout(function () { $(event.target).contents().each(function(index, elem) {
        if( elem.nodeType === 3 && $.trim(elem.nodeValue).length ) {
            var text = $.trim(elem.nodeValue);
            text = text.split(" ");
            console.log($.trim(elem.nodeValue));
            //alert($.trim(elem.nodeValue));
            return false;
         }
      });
   }, 5000);

});

4

2 回答 2

5

这可能不是有史以来最好的代码,但它可能会让你走上正确的轨道,脱离 andyb 的评论。

就像是

$(".first").on("hover",function(){

  var words = $(this).text().split(" ");

  var fullText = "";

  for(i=0;i<words.length;i++){
    words[i] = "<span>"+words[i]+"</span> "; 
    fullText += words[i];
  }  

  $(this).text("").append(fullText);

  $(this).children("span").on("hover", function(){
    $(".second").text($(this).text());
  });

});

尽管查看工作示例是您的最佳选择。

于 2012-11-27T15:56:20.070 回答
0
   $(document).bind("mouseover", function (e) {
      var event = e;
      setTimeout(function () { $(event.target).contents().each(function(index, elem) {
      if( elem.nodeType === 3 && $.trim(elem.nodeValue).length ) {
      var text = $.trim(elem.nodeValue);
      text = text.split(" ");
      var words = (elem.nodeValue).split(" ");

      var fullText = "";

      for(i=0;i<words.length;i++){
          words[i] = "<span>"+words[i]+"</span> ";
          fullText += words[i];
      }

      $(event.target).html("").append(fullText);

      $(event.target).children("span").on("hover", function(){
          //$(".second").text($(this).text());
          console.log($(this).text());
       });
          console.log($(event.target).html());

          return false;
       } //alert($(event.target).text()+$(event.target).html());
   });}, 

10000); });

现在我的代码是这样的......并且运行良好。但问题是现在,如果一个锚标签或

标签在一些文本之后有chailds标签或span标签,它只是拾取文本解析它并忽略子节点.......:(....我想选择这些子节点......放置span标签对于每个单词,而不是外部文本

于 2012-11-28T08:43:01.223 回答