我可以通过使用此代码找到元素的文本。但是如果鼠标在该单词上停留一段时间,我想在页面的任何位置找到一个单词。
$(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);
});
答案 0 :(得分: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());
});
});
虽然查看working example是您最好的选择。
答案 1 :(得分: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标签