开发者

get textNode of a elementNode of a web page via javascript

In a web page,i 开发者_如何学Gowant to get every visible text in a textnode.I don't want to put all the result into one array.I mean, when i meet a visible text, i will do something else. How could i achieve it?


I guess you want something like this:

<script type="text/javascript">
function textnodes(){
    function iterate(node){
        var nodes=node.childNodes
        var len=nodes.length
        for(var a=0;a<len;a++){
            if(nodes[a].nodeType==3){
                if(!nodes[a].nodeValue.match(/^[\s]*$/)){
                    alert(nodes[a].nodeValue) //Insert your code here.
                }
            }
            else{
                if(nodes[a].nodeName.toLowerCase()!="script"){
                    iterate(nodes[a])
                }
            }
        }
    }
    iterate(document.body)
}
textnodes()
</script>

The script as it is might be a bit overzealous, you get along a lot of invisible text nodes, you can sort those out if you don't need them.

Edit: Modified to sort out invisible nodes since you specifically requested only visible nodes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜