Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自Javascript字符串的innerHTML_Javascript_Jquery_Html_Innerhtml_Getelementbyid - Fatal编程技术网

来自Javascript字符串的innerHTML

来自Javascript字符串的innerHTML,javascript,jquery,html,innerhtml,getelementbyid,Javascript,Jquery,Html,Innerhtml,Getelementbyid,我有一个JavaScript字符串,里面有HTML内容 e、 g 我得到了错误 HTMLtext.getElementByID不是window.onload中的函数 在不将HTMLtext放入临时容器的情况下,是否有任何解决方法 由于问题标签中有jQuery,所以这非常简单 var testDiv1 = $("<div/>", { html: HTMLtext }).find("#test-div-1").html(); var testDiv1=$(“”,{html:HTMLte

我有一个JavaScript字符串,里面有HTML内容

e、 g

我得到了错误

HTMLtext.getElementByID不是window.onload中的函数

在不将HTMLtext放入临时容器的情况下,是否有任何解决方法


由于问题标签中有jQuery,所以这非常简单

var testDiv1 = $("<div/>", { html: HTMLtext }).find("#test-div-1").html();
var testDiv1=$(“”,{html:HTMLtext});
它创建一个非DOM元素,设置html值,然后解析并获取所需div的内部html


由于问题标签中有jQuery,所以这非常简单

var testDiv1 = $("<div/>", { html: HTMLtext }).find("#test-div-1").html();
var testDiv1=$(“”,{html:HTMLtext});
它创建一个非DOM元素,设置html值,然后解析并获取所需div的内部html

var HTMLtext='text这只是一个div这只是另一个div更多填充文本';
var tempDom=$('').append($.parseHTML(HTMLtext));
$(#test-div-1),tempDom);
解析字符串以创建HTML并创建临时DOM,以便jquery可以遍历它

var HTMLtext='text这只是一个div这只是另一个div更多填充文本';
var tempDom=$('').append($.parseHTML(HTMLtext));
$(#test-div-1),tempDom);

解析字符串以创建HTML并创建临时DOM,以便jquery可以遍历它

如评论中所述,没有字符串(原型)函数getElementByID。你很可能在想。要使用它,您必须使用创建一个元素,将innerHTML设置为html字符串,使用将元素添加到DOM(可能是隐藏的,因此不可见),然后使用document.getElementById()(注意,D是小写的)。但这将创建一个临时容器

jQuery确实稍微简化了这一点。它仍然需要创建一个容器,但不必附加到DOM中。使用创建元素并使用设置html后,使用查找元素。然后使用获取找到的第一个元素的html内容

var HTMLtext='text这只是一个div这只是另一个div更多填充文本';
var testDiv1=$('').html(HTMLtext.find('#test-div-1');
log(testDiv1.html())

正如注释中提到的,没有字符串(原型)函数getElementByID。你很可能在想。要使用它,您必须使用创建一个元素,将innerHTML设置为html字符串,使用将元素添加到DOM(可能是隐藏的,因此不可见),然后使用document.getElementById()(注意,D是小写的)。但这将创建一个临时容器

jQuery确实稍微简化了这一点。它仍然需要创建一个容器,但不必附加到DOM中。使用创建元素并使用设置html后,使用查找元素。然后使用获取找到的第一个元素的html内容

var HTMLtext='text这只是一个div这只是另一个div更多填充文本';
var testDiv1=$('').html(HTMLtext.find('#test-div-1');
log(testDiv1.html())

您的
HTMLtext
变量是字符串而不是html元素。您正在尝试的操作与尝试
“这是一些文本”
.getElementById('id')``的操作相同。如果要获取id为的div,必须执行som regex字符串搜索。。你到底想完成什么?千万不要用正则表达式来解析html。继续搜索,可以看到关于该主题的大量讨论。只需使用jquery或其他解析库对其进行解析即可。我正在使用AJAX获取查询的ResponseText,并希望分割返回的数据。我知道这是一个字符串,但我想有办法暂时转换它。我可以使用jQuery。您的
HTMLtext
变量是字符串而不是html元素。您正在尝试的操作与尝试
“这是一些文本”
.getElementById('id')``的操作相同。如果要获取id为的div,必须执行som regex字符串搜索。。你到底想完成什么?千万不要用正则表达式来解析html。继续搜索,可以看到关于该主题的大量讨论。只需使用jquery或其他解析库对其进行解析即可。我正在使用AJAX获取查询的ResponseText,并希望分割返回的数据。我知道这是一个字符串,但我想有办法暂时转换它。我可以使用jQuery。这正是我想要的。出于某种原因,当我在JSFIDLE中尝试它时,它不会工作?好吧,我的错。除非创建元素,否则不能使用
$()
。我已经修改它来创建一个空div,添加你的HTMLtext,然后解析这个div。谢谢。这里有两个很好的答案,但是你的答案似乎可以用最简单的方法解决我的问题。没问题-很乐意帮助:)如果你没有得到任何特定的div id,你可以使用这个
var testDiv1=$(“”,{html:HTMLtext})。find(“div”).html()顺便说一句,这正是我想要的解决方案。出于某种原因,当我在JSFIDLE中尝试它时,它不会工作?好吧,我的错。除非创建元素,否则不能使用
$()
。我已经修改它来创建一个空div,添加你的HTMLtext,然后解析这个div。谢谢。这里有两个很好的答案,但是你的答案似乎可以用最简单的方法解决我的问题。没问题-很乐意帮助:)如果你没有得到任何特定的div id,你可以使用这个
var testDiv1=$(“”,{html:HTMLtext})。find(“div”).html()顺便说一句,好的解决方案@Archer
var testDiv1 = $("<div/>", { html: HTMLtext }).find("#test-div-1").html();
var HTMLtext = 'text <div id="test-div-1">this is <b>just</b> a div</div><div id="test-div-2">this is <b>just</b> another div</div> more filler text';
var tempDom = $('<output>').append($.parseHTML(HTMLtext));
$("#test-div-1",tempDom);