Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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 将JSON插入HTML数据属性_Javascript_Json_Html - Fatal编程技术网

Javascript 将JSON插入HTML数据属性

Javascript 将JSON插入HTML数据属性,javascript,json,html,Javascript,Json,Html,我想从一个div中获取数据,并使用data属性将数据插入一个新div //get data from old div as JSON var data = JSON.parse(document.getElementById('video_data').getAttribute('data-video')); 这是我从中获取数据的div。 //将数据插入新的div document.getElementById('i').insertAdjacentHTML('afterbegin','∞'

我想从一个div中获取数据,并使用
data
属性将数据插入一个新div

//get data from old div as JSON
var data = JSON.parse(document.getElementById('video_data').getAttribute('data-video'));
这是我从中获取数据的div。

//将数据插入新的div
document.getElementById('i').insertAdjacentHTML('afterbegin','∞' + data.title+“”);
这是插入新div后得到的结果。

你可以看到连颜色都不正确


有什么问题吗?

Json stringify只是将其转换为字符串。您需要对结果字符串中的双引号进行转义,以便在渲染时播放效果良好

如果您确信您的数据中没有单引号,我可能还可以在全球范围内将“替换为”

哦,如果您在JavaScript中构建div,并且只支持更新的浏览器,那么您应该能够做到这一点

El.dataset.video = your json string

Json stringify只是将其转换为一个字符串。您需要转义结果字符串中的双引号,以便在渲染时播放效果良好

如果您确信您的数据中没有单引号,我可能还可以在全球范围内将“替换为”

哦,如果您在JavaScript中构建div,并且只支持更新的浏览器,那么您应该能够做到这一点

El.dataset.video = your json string
document.getElementById('i').insertAdjacentHTML('afterbegin','∞'+data.title+'');
document.getElementById('i').firstChild.setAttribute('data-video',JSON.stringify(data));
这修复了错误。

document.getElementById('i').insertAdjacentHTML('afterbegin','∞'+data.title+'');
document.getElementById('i').firstChild.setAttribute('data-video',JSON.stringify(data));

这修复了错误。

我这样做:
data.replace(/“/g,\\\”)
并且没有结果。你需要对json的结果这样做。stringify(数据)我这样做
var a=json.stringify(数据);变量b=a.replace(/“/g,\\”)然后我插入了b.Hrm。那么用单报价代替?谷歌搜索显示HTML不把\作为转义字符。我这样做了:
data.replace(/“/g,“\\”)
没有结果。你需要对json.stringify(数据)的结果这样做。我这样做了
var A=json.stringify(数据);变量b=a.replace(/“/g,\\”)然后我插入了b.Hrm。那么用单报价代替?谷歌搜索显示HTML不把\作为转义字符。
document.getElementById('i').insertAdjacentHTML('afterbegin', '<div class="video_wrap update" video_name="' + data.video_name + '"><div class="content"><div class="title_wrap infinite_wrap"><div class="quality uninfinite">&infin;</div></div><div class="img_wrap"><img src="https://i.ytimg.com/vi/' + data.yt_id + '/hqdefault.jpg"></div><div class="title_wrap"><div class="title">' + data.title + '</div></div></div></div>');
document.getElementById('i').firstChild.setAttribute('data-video', JSON.stringify(data));