2015-11-09 137 views
3

我有以下代码。用javascript更改html属性

<li class="source" data-toggle="tooltip" data-placement="top" id="content1" title="" data-original-title="Test">Test Server 1</li> 

我尝试使用下面的代码来改变数据原标题的内容:

document.getElementById('content1').style["data-original-title"] = 'Online'; 

难道我做错了什么?

回答

4

您可以使用.dataset

document.getElementById('content1').dataset.originalTitle = 'Online';
<li class="source" data-toggle="tooltip" data-placement="top" id="content1" title="" data-original-title="Test">Test Server 1</li>

.setAttribute

document.getElementById('content1').setAttribute('data-original-title', 'Online');
<li class="source" data-toggle="tooltip" data-placement="top" id="content1" title="" data-original-title="Test">Test Server 1</li>

+1

不错的使用'dataset'! – ajm

1

data-original-title是一个属性,所以你需要将其设置为这样:

document.getElementById('content1').setAttribute('data-original-title','Online'); 
0

使用setAttribtute()

document.getElementById("content1").setAttribute("data-original-title", "Online"); 
-1

这似乎不是一个风格,试试这个:

document.getElementById('content1').data-original-title = 'Online'; 
+0

我真的怀疑JavaScript会正确解析'-',而宁愿尝试读取它们作为减法。 –

+1

你说得对,最好使用setAttribute()方法。 –

0

试试这个:

document.getElementById('content1').dataset.originalTitle = 'Online';
<li class="source" data-toggle="tooltip" data-placement="top" id="content1" title="" data-original-title="Test">Test Server 1</li>