在div中选择文本

时间:2013-08-30 15:41:33

标签: jquery

我有一个div元素,里面有一些文字。我需要能够选择: div div,and 2.只有该div内的文字

<div class="myDiv">some text</div>

所以我可以按类名

选择div
$(".myDiv").hover(...);

但我对文本有困难。试过以下

$(".myDiv").contents().eq(0).text().hover(...);

但没有运气。此外,当我将鼠标悬停在文本上时,我只需要选择该文本,而不是父div。

enter image description here

4 个答案:

答案 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(...);