就像每个人都知道的那样,我们可以使用如下所示的CSS来样式元素
#a {
background-color : green;
}和使用JS
document.getElementById('a').style.backgroundColor = "green";但是我想创建一些属性,比如background-color,它可以在CSS中使用。例如,我将创建一个类似于"foobar“的属性,然后我应该能够像下面这样使用它
#a {
foobar : value;
}这个是可能的吗?我想对包含此属性的元素执行一些JS。
问题中提到的复制的答案是如何创建新的CSS并使用现有的CSS属性将其添加到样式表中。但是在这里我试图创建我自己的css属性..。
发布于 2015-01-12 07:37:00
我想对包含此属性的元素执行一些JS。
尽管您只需将随机属性写入style对象:
myElement.style.foobar = "value";...and 似乎活了下来 on Chrome,Firefox,IE11,甚至IE8,强烈反对。
您最好使用类或data-*属性来代替。首先,你可以查询它们。
如果您试图创建自己的CSS (您在评论中说过的话),我认为data-*属性将是一个不错的选择。
使用类:
var myElement = document.createElement('a');
myElement.className = "foobar";
// ...add it somewhere...
// Later
var myElements = document.querySelectorAll(".foobar");
// ...do something with the list...或具有data-*属性:
var myElement = document.createElement('a');
myElement.setAttribute("data-foobar", "value");
// ...add it somewhere...
// Later
var myElements = document.querySelectorAll('[data-foobar="value"]');
// ...do something with the list...所有现代浏览器都支持querySelectorAll,也支持IE8。
https://stackoverflow.com/questions/27897176
复制相似问题