我有一个返回长HTML字符串的ajax调用。我想做的是收集按钮标签的所有innerText。这可以使用angular而不使用jQuery来实现吗?
Ajax响应:
<div><div><button>Player 1</button><span></span><h1></h1><button>Player2</button></div></div> etc..
//Id like to have an array of ['Player1','Player2']
答案 0 :(得分:1)
这可以使用Dom Parser使用vanilla JavaScript来完成。
function getButtonText(htmlString) {
// create a document fragment from the html string
let documentFragment = new DOMParser().parseFromString(htmlString, "text/html");
// retrieve a list of buttons from the fragment
let buttons = documentFragment.getElementsByTagName('button');
// convert and return the buttons from DOMElements to Text
return Array.from(buttons).map(button => button.innerText);
}
如果您定位的浏览器不支持Array.from或Array.prototype.map,则可以将最后一行更改为简单的for循环。