这是我的字符串
var a ="<div id='render'>First<div class='render1'>Second</div></div>";
我需要获取render
和render1
我该怎么做?
我试过
var a ="<div id='render'>First<div class='render1'>Second</div></div>";
alert(a.getElementsByTagName("render")[0].innerHTML);
这是我的Fiddle
但是我得到了像
这样的错误未捕获的TypeError:a.getElementsByTagName不是函数
我该怎么做
注意:
这不是来自网站的内容,我试图从其他语句中获取文本,因此我将响应分配给变量并进行处理。
我只需要使用javascript
答案 0 :(得分:4)
字符串没有getElementsByTagName
。但您可以随时使用浏览器解析字符串,然后在结果中使用它:
var a = "<div id='render'>First<div class='render1'>Second</div></div>";
// Create an element to use to parse it
var div = document.createElement('div');
// Parse it
div.innerHTML = a;
// Find all divs in the result and show their innerHTML
Array.from(div.querySelectorAll("div")).forEach(function(div) {
console.log(div.innerHTML);
});
如果您想提取其他信息,您当然可以在forEach
回调中进行更高级的处理。
答案 1 :(得分:0)
未捕获的TypeError:a.getElementsByTagName不是函数
是的,在这种情况下它不是函数,因为你试图在字符串而不是元素上调用函数。请查看mdn以获得更多说明: https://developer.mozilla.org/pl/docs/Web/API/Element/getElementsByTagName
更重要的是:'render'无论如何都不是标签。你应该使用getElementById函数来获取外部div。