Javascript jQuery—通过自定义CSS键在其;“风格”;属性

Javascript jQuery—通过自定义CSS键在其;“风格”;属性,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个页面,其中一些元素有一个名为“key”的假CSS属性,如下所示: <div style="color:red;key:settings.color;background-color:violet;key:settings.bkgColor;"> </div> 我想有更快/更好的方法可以做到这一点。你可以这样使用 $("[style*='key']").each(function(){ }); 这将返回包含样式属性键的所有元素 编辑 $("[style*

我有一个页面,其中一些元素有一个名为“key”的假CSS属性,如下所示:

<div style="color:red;key:settings.color;background-color:violet;key:settings.bkgColor;"> 
</div>
我想有更快/更好的方法可以做到这一点。

你可以这样使用

$("[style*='key']").each(function(){

 });
这将返回包含样式属性
键的所有元素

编辑

 $("[style*='key:listColor']").each(function(){
   alert($(this).attr("style"));    
  });
你可以这样做:

$("[style*='key']").each(function(){
    foundEls.push($(this));
});

文档在这里:

我想你可以用这样的东西

var key = $( this ).css( "key" ); 
通常,我们可以使用此属性获取任何css属性

var color= $( this ).css( "color" );

所以这可能对你有用

使用自定义密钥背后的原因是什么?为什么不能是CSS类呢?因为我们用一个对象的值(key/value)构建了我们的模板渲染系统。现在我们必须知道值来自哪个键。向每个元素添加类将是一项非常漫长的工作。取而代之的是,我在一个函数中路由了所有的get for value,这个函数可以向其中添加键。但由于该值是css值,因此它将在元素的css中返回。因此,将密钥放入其中的唯一方法是使用假cssproperty@IrishGeek82这个答案使用jquery.css(如果我错了,请纠正我的错误)不适用于内联样式的propsYes,这是我想要做的,但我不知道哪些元素有自定义键,哪些元素没有自定义键。因此,我必须选择所有$(“*”),然后使用您的regexp。这是一个比我以前使用的.each和.indexOf更好的解决方案,但是$(“[style*='key:value']”)似乎更好,但是如何返回键值呢?非常好。最后一件事,如何获取具有特定键的元素?例如,仅具有“key:listColor;”的元素。我知道我可以在中添加一个检查。但是直接使用查询是否可行?使用$(“[style*='key:listColor']”)。为此,选择器不起作用,但警报不起作用。这是因为.css不查看内联样式(在列表中不是无效样式),所以它会发出警报(“未定义”)
var color= $( this ).css( "color" );