2

Twitterのポップオーバーに使用しているボタンクラスがあります。コードは次のとおりです。

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

そして、私がやりたいのは、data-contentvia 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 に答える