简体   繁体   中英

How to extract text from Link in Javascript?

I have following string:

<a href="http://stackoverflow.com" target="_blank">StackOverFlow</a>

How can I extract text (ie StackOverFlow) from the string?

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.

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];

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

document.getElementById('linkID').innerHTML;

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM