2

我有一个用于 twitter popover 的按钮类,我的代码如下:

<button class="btn btn-success" id="chaticon" data-original-title="Users Online" data-content="&lt;a href='#'&gt; OMGTEST &lt;/a&gt;">

我想要做的是修改data-content通过javascript,

我天真地试图做:

document.getElementById("chaticon").data-content = "new content";

它没有用,关于我如何做到这一点的任何想法?

4

2 回答 2

4

使用 HTMLElement 的内置访问器。

getAttribute(attributeName)
setAttribute(attributeName,newValue);

像这样:

var yourElement = document.getElementById("chaticon");
var dataVal = yourElement.getAttribute("data-content");
var newData = "new data";
yourElement.setAttribute("data-content",newData);

这是一个简单的演示:http: //jsfiddle.net/hpfk3/

编辑

您可能应该在问题中包含 jquery 和 popover,而不仅仅是询问按钮元素。由于这些可用,您可以像这样更改内容:

//store chat icon jQuery object
var chatIcon = $("#chaticon");

//change data attribute on element
//change jquery data object content
//call setcontent method
chatIcon.attr("data-content","new data").data('popover').setContent();

//target the popover element and restore its placement definition
chatIcon.data('popover').$tip.addClass(chatIcon.data('popover').options.placement);
于 2013-03-03T21:02:01.083 回答
2

尝试设置属性

document.getElementById("chaticon").setAttribute('data-content','new content');
于 2013-03-03T21:00:29.197 回答