Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery公共CSS选择器_Jquery_Css - Fatal编程技术网

JQuery公共CSS选择器

JQuery公共CSS选择器,jquery,css,Jquery,Css,我有: 这里有类似regex的东西我可以用吗?还有别的方法吗?我想会有一个简单的方法,因为处理这些事情在JQuery中很常见 编辑:澄清 我不是在寻找从变换矩阵中检索角度或元素的方法 我只是在寻找一个选择器,它可以同时检索transform和-webkit transform样式$(“.abc”)。css('transform')对这两种样式都不起作用。Edit正如您在下面的评论中所说,这对您的jQuery和Chrome版本不起作用 您可以始终回退到元素的style属性: $(".abc").c

我有:

这里有类似regex的东西我可以用吗?还有别的方法吗?我想会有一个简单的方法,因为处理这些事情在JQuery中很常见

编辑:澄清

我不是在寻找从变换矩阵中检索角度或元素的方法


我只是在寻找一个选择器,它可以同时检索
transform
-webkit transform
样式
$(“.abc”)。css('transform')
对这两种样式都不起作用。

Edit正如您在下面的评论中所说,这对您的jQuery和Chrome版本不起作用

您可以始终回退到元素的
style
属性:

$(".abc").css('whatcomeshere?')

对我来说,在64位Linux上的Chrome版本中,
abc.style.transform
返回
undefined
(这很有意义,我只设置了供应商前缀版本),而
abc.style.webkitttransform
返回样式信息。因此,上面的代码将返回第一个未定义的代码


$(.abc”).css(“transform”)
应将其返回给您,jQuery规范化供应商前缀

使用此
div

var abc = $(".abc")[0];
var transform = abc.style.transform || abc.style.webkitTransform;
哪些输出(在Chrome上):

$('.abc').css('transform')=矩阵(0.9396926207859084,0.3420201433256687,-0.3420201433256687,0.939692620785908484,100,0) $('.abc').css('-webkit transform')=矩阵(0.9396926207859084,0.3420201433256687,-0.3420201433256687,0.9396926207859084,100,0)
请注意,我在
div
上只有前缀版本,但是
css
transform
-webkit transform

提供了相同的信息。如果您想要特定的供应商前缀,请明确:

$('.abc').css('transform') = matrix(0.9396926207859084, 0.3420201433256687, -0.3420201433256687, 0.9396926207859084, 100, 0) $('.abc').css('-webkit-transform') = matrix(0.9396926207859084, 0.3420201433256687, -0.3420201433256687, 0.9396926207859084, 100, 0)
在大多数情况下,除非您专门为特定的供应商添加了不同的功能,否则通用css属性应该为您提供所需的值。

jQuery在执行
$('.abc').css('transform')
时处理供应商前缀属性

从:


关于
.css()
可以做什么:谷歌“jquery css”并阅读文档。。希望它有用!复制的或在Chrome Linux 64位上似乎不起作用。使用
-webkit transform
进行选择可以得到矩阵,但是
transform
没有任何作用。@user1265125:这很有趣!当你说它不起作用时,你是指你的代码,还是指一个活生生的例子?您是否使用与上述版本相同的jQuery(v1.10.1)?我也在使用64位Linux,但Chrome的版本有点过时(26.0.1410.63)。@user1265125:我已经用更直接的方法更新了答案。
<div class="abc" style="-webkit-transform: translate(100px) rotate(20deg); -webkit-transform-origin: 60% 100%;">foo</div>
jQuery(function($) {
  display("$('.abc').css('transform') = " + $(".abc").css("transform"));
  display("$('.abc').css('-webkit-transform') = " + $(".abc").css("-webkit-transform"));

  function display(msg) {
    var p = document.createElement('p');
    p.innerHTML = String(msg);
    document.body.appendChild(p);
  }
});
$('.abc').css('transform') = matrix(0.9396926207859084, 0.3420201433256687, -0.3420201433256687, 0.9396926207859084, 100, 0) $('.abc').css('-webkit-transform') = matrix(0.9396926207859084, 0.3420201433256687, -0.3420201433256687, 0.9396926207859084, 100, 0)
$(".abc").css('-webkit-transform');
    cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];

// return a css property mapped to a potentially vendor prefixed property
function vendorPropName( style, name ) {

    // shortcut for names that are not vendor prefixed
    if ( name in style ) {
        return name;
    }

    // check for vendor prefixed names
    var capName = name.charAt(0).toUpperCase() + name.slice(1),
        origName = name,
        i = cssPrefixes.length;

    while ( i-- ) {
        name = cssPrefixes[ i ] + capName;
        if ( name in style ) {
            return name;
        }
    }

    return origName;
}