【问题标题】:selecting element from a html string inside variable从变量内的 html 字符串中选择元素
【发布时间】:2017-10-13 17:59:16
【问题描述】:
我在这样的变量中有 html 字符串数据
var htmlstring = "<div><div class='testdiv'>924422</div></div>"
我期望的是获取具有类的 div 的内容。在此示例中为 .testdiv 数据。
我该如何实现?
我知道一种方法:将此 html 字符串附加到 html 页面,然后访问。但我不想这样做,因为我正在使用 ajax 和服务器返回某种 html 字符串。现在我想获取特定内部的数据div.
那么有没有其他的办法呢?
【问题讨论】:
标签:
javascript
jquery
html
【解决方案1】:
首先,您不要在 html 的类名中使用 .。要获取 html 字符串中该 div 的内容,您可以使用 jquery find 函数。
var htmlstring = "<div><div class='testdiv'>924422</div></div>"
alert($(htmlstring).find('.testdiv').html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【解决方案2】:
这是一种无需 jQuery 即可实现的方法。
var htmlstring = "<div><div class='testdiv'>924422</div></div>";
function getTestDiv(htmlString) {
var textVal = null;
var div = document.createElement('div');
div.innerHTML = htmlString;
var elements = div.childNodes;
if (elements.item(0).childNodes.item(0).className === 'testdiv') {
textVal = elements.item(0).childNodes.item(0).innerHTML;
}
return textVal;
}
console.log(getTestDiv(htmlstring));
【解决方案3】:
你可以这样做:
console.log($(htmlstring).find("div.testdiv").text());