从变量中的html字符串中选择元素

时间:2017-10-13 17:59:17

标签: javascript jquery html

我在这个变量里面有html字符串数据

 var htmlstring = "<div><div class='testdiv'>924422</div></div>"

我期待的是获取具有class的div的内容。在此示例中.testdiv数据。

我该如何实现?

我知道一种方法:将此html字符串附加到html页面然后访问。但我不想这样做因为我使用ajax和服务器返回类型的html字符串。现在我想获取特定内容中的数据格。

那么还有其他办法吗?

3 个答案:

答案 0 :(得分:3)

首先,您不要在html中的类名中使用.。要在html字符串中获取该div的内容,可以使用jquery find函数。

&#13;
&#13;
var htmlstring = "<div><div class='testdiv'>924422</div></div>"
alert($(htmlstring).find('.testdiv').html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这是一种没有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));

答案 2 :(得分:0)

您可以通过以下方式执行此操作:

console.log($(htmlstring).find("div.testdiv").text());