質問の編集に基づいて更新された回答:
本当に避けるべき識別子を使用しています: Object
。id
使用する変数のと名前の両方を変更することをお勧めします。そう:
<div id="theObject" titleDiv="blank"></div>
と
var theObject=document.getElementById('theObject');
theObject.setAttribute("titleDiv","myDiv");
Object
JavaScript の組み込み関数です。of 要素はグローバル名前空間にダンプされるためid
、組み込みの JavaScript 関数 ( Object
、Function
、Date
など) をid
値として使用することは避けます。同様の理由で、特に自分自身や他の人を混乱させないようにするために、私はそれらを変数名として使用しないようにします.
とは言っても、問題( source ) を再現できなかったので、変数名と変数名を変更しますが、それは問題ではない可能性があります。以下も参照してください。id
元の回答:
setAttribute
DOM 要素インスタンスを呼び出します。Object
組み込み関数を介してそれを行うことはありません。
DOM 要素を使用すると、動作します (IE9 でも):
(function() {
// Get an actual DOM element
var target = document.getElementById("target");
// Set the attribute
target.setAttribute("titleDiv","myDiv");
// Show the result
display("Result: " + target.getAttribute("titleDiv"));
function display(msg) {
var p = document.createElement('p');
p.innerHTML = String(msg);
document.body.appendChild(p);
}
})();
実例| ソース
div
F12 開発者ツールを使用して HTML タブに移動すると、が実際に属性を取得していることがわかります。( 「ソースを表示」ではなく、必ず開発ツールを使用してください。 「ソースを表示」すると、DOM の現在の状態ではなく、サーバーから送信された HTML が表示されます。)
補足:接頭辞を使用しdata-
ない非標準属性を使用することは、悪い考えです。その情報を、これを口述している人に連鎖的に送りたいと思うかもしれません。しかし、それはほぼ間違いなく、あなたが抱えている問題ではありません。