我有一个div元素,里面有一些文字。我需要能够选择: div div,and 2.只有该div内的文字
<div class="myDiv">some text</div>
所以我可以按类名
选择div$(".myDiv").hover(...);
但我对文本有困难。试过以下
$(".myDiv").contents().eq(0).text().hover(...);
但没有运气。此外,当我将鼠标悬停在文本上时,我只需要选择该文本,而不是父div。
答案 0 :(得分:3)
您需要的只是以下内容:
var txt = $('.myDiv').text();
答案 1 :(得分:1)
<强> DEMO 强>
试试这个
我想这就是你需要的东西
(function findTextNodes(current, callback) {
for(var i = current.childNodes.length; i--;){
var child = current.childNodes[i];
if(3 === child.nodeType)
callback(child);
findTextNodes(child, callback);
}
})(document.getElementById('myDiv'), function(textNode){
$(textNode).replaceWith('<span class="textNode">' + textNode.nodeValue + '</span>');
});
$('.textNode').hover(function(){
$(this).css('color', 'white');
},function(){
$(this).css('color', 'black');
});
答案 2 :(得分:0)
var html= $('.myDiv').html(); // Select div itself
var text= $('.myDiv').text(); // To get only the text
答案 3 :(得分:0)
如果您尝试添加文字,请尝试:
$(".myDiv").contents().eq(0).innerHTML('YOUR TEXT HERE').hover(...);