How to extract text from Link in Javascript?

后端 未结 4 451
鱼传尺愫
鱼传尺愫 2021-01-27 14:08

I have following string:

StackOverFlow

How can I extract text (i.e. StackOver

相关标签:
4条回答
  • 2021-01-27 14:39

    No regex required:

    var t_ = document.createElement('div'),
        a;
    t_.innerHTML = htmlString; // <- string containing your HTML
    a = t_.children[0];
    
    var text = a.textContent || a.innerText; // W3C vs IE
    

    Actually parsing HTML with regular expressions is evil. Although it might be easy to come up with an expression for your specific case, it might not work well for a different string.

    0 讨论(0)
  • 2021-01-27 14:39
    window.onload = function(){
        var text = '<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>';
        var parser = null;
        if (window.DOMParser){
            parser = new DOMParser();
            xmlDoc = parser.parseFromString(text,"text/xml");
        } else{ // Internet Explorer
            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async="false";
            xmlDoc.loadXML(text); 
        }
        var a = xmlDoc.childNodes[0];
        alert(a.childNodes[0].nodeValue);
    }
    

    http://www.w3schools.com/dom/dom_parser.asp

    0 讨论(0)
  • 2021-01-27 14:50

    If you can add an id to your link like so: `StackOverFlow" then you can get the text like this:

    document.getElementById('linkID').innerHTML;

    0 讨论(0)
  • 2021-01-27 14:56
    document.getElementById('link_id').innerHTML;
    

    That was my solution before, user added more description but this is solution for current description

    var s = '<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>';
    var text = s.match(/<a[^\b>]+>(.+)[\<]\/a>/)[1];
    
    0 讨论(0)
提交回复
热议问题