如何在作为对象提供的某些HTML代码中更改标记的属性?
目前,如果我这样做:
console.log(gallery.currItem);
我明白了:
所以我接着做了:
console.log(gallery.currItem.html);
我在控制台中获取HTML(不是作为对象,我相信它就像texy一样):
<video width="500" height="250" controls><source src="" type=""></video>
但我不确定如何通过添加属性video
来修改muted="muted"
标记。
我试过了:
console.log($(gallery.currItem.html).find('video'));
但是这又回来了一个物体。 :/
答案 0 :(得分:1)
我假设您正在使用PhotoSwipe。 gallery.currItem.html
不是字符串,而是实际的html元素。
您可以直接编辑它的属性:
gallery.currItem.html.setAttribute("muted", "muted");
要确保它是一个实际元素,如果有问题,请执行以下操作:
if(gallery.currItem.html.tagname) {
gallery.currItem.html.setAttribute("muted", "muted");
} else {
// append it to the dom or wrap it into jquery and then set the attributes
gallery.currItem.html = $(gallery.currItem.html).attr("muted", "muted")[0];
}
答案 1 :(得分:0)
试试这个。
$(gallery.currItem.html).attr("muted", "muted");
答案 2 :(得分:0)
答案:
$(gallery.currItem.container.lastChild).attr('muted', 'muted');