是否可以通过JavaScript函数更改HTML的值?
这是一个例子:
div class="fb-page" data-href="https://www.facebook.com/ConnectCommunications?fref=ts"
data-width="450" data-hide-cover="false" data-show-facepile="true" data-small-header="false"
data-show-posts="true"></div
现在,我想通过JavaScript
data-show-facepile
-event将true
从false
更改为onclick
。提前致谢!
最佳答案
在浏览器中使用干净的JavaScript:document.getElementByClassName('fb-page').setAttribute('data-show-facepile', false)
,有关更多信息,请参见here。给元素一个id
,然后使用document.getElementById()
可能很聪明。
现在,如果您有按钮<button id="clickme"> Click me! </button>
,则可以添加一个处理程序:
document.getElementById('clickme').addEventListener('click', function(){
document.getElementByClassName('fb-page')[0].setAttribute('data-show-facepile', false)
});
请注意,如果
fb-page
类中有多个元素,则要更改的元素可能不是返回列表的第一个元素。使用jQuery:
$('.fb-page').attr('data-show-facepile', false)
。 Docs。如果为元素指定ID,请改用$('#id')
。因此,如果您有一个按钮:
<button id="fb-show-button">Click me! </button>
,则添加一个处理程序:$('#fb-show-button').click(function(){
$('.fb-page')[0].attr('data-show-facepile', false)
})
上面的注释也会影响此示例。
为什么要提及使用id而不是类?因为当您要处理一个特定元素时,ID将唯一地标识它,因为只有一个元素可以具有特定ID。一个元素可以有多个
fb-page
类。这就是为什么获取类元素的方法返回数组的原因。