我有一個簡單的函數調用loadStyles()
那就是:更改DOM元素的多個屬性與JavaScript
function loadStyles(url) {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = url;
link.media = 'all';
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(link);
}
我在想,如果有添加特定屬性的值,除了這一個的另一種方式: link.rel
等於...
,link.type
等於...
等
我想是這樣的:
function loadStyles(url) {
var link = document.createElement('link');
link += {
rel: 'stylesheet',
type: 'text/css',
href: url,
media: 'all'
};
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(link);
}
但這並不奏效。我知道這甚至可能是愚蠢的,甚至嘗試它(因爲我的IDE說這{....}
表達式不能分配給鍵入HTML元素^^')。
的可能重複的[用JavaScript爲元素設置多個屬性一次(http://stackoverflow.com/questions/12274748/setting-multiple-attributes-for-an-element-at-once- with-javascript) – DavidDomain
我不認爲你可以在本地「添加」一個對象到DOMElement,因爲它根本不支持它。最快的解決方案是創建一個函數並引用該對象(並使用for循環設置每個屬性)或創建自己的類並假裝接受屬性對象作爲參數(但您仍然必須循環它以填充DOMElement屬性),這是jQuery爲許多原型所做的(.css是一個示例)。此外,你也可以(最終)擴展DOM對象,但據我所知,這根本不是一個好習慣。 – briosheje