0

如何CSS从元素(不包括值)中获取当前应用的属性标识符?

或者更确切地说:如何获取元素,例如translate,或? 我不是指完整的返回字符串,例如:。我的意思是...skewrotaterectrect(300px 0px 0px 300px)property-identifiers

我对 RegExp 不是很熟悉,但也许可以做到这一点?

所以为了更好的解释目的:

我需要检查一下,更改一些值(通过矩阵数组)并再次将它们重新应用回元素。

// http://stackoverflow.com/a/5968313/1250044
function matrixToArray(matrix) {
    return matrix.substr(7, matrix.length - 8).split(', ');
}

$("#foo").css("clip","rect(300px 0px 0px 300px)");
var matrix = matrixToArray($("#foo").css("clip"));

                              // If `#foo` has something else
                              // applied than `clip`, then
                    --- ˅ --- // is that not really dynamically
$("#bar").css("clip", "rect(" + matrix[0] + matrix[1] + matrix[2] + matrix[3] + ")");
4

3 回答 3

0

您可以使用window.getComputedStyle()

// your elemenet
var el;

// get the transformations applied:
var transform = window.getComputedStyle( el ).transform;

但是,这将matrix在大多数情况下为您提供,而不是应用单个转换。

于 2013-01-18T09:56:07.607 回答
0

例如,

$(ele).css('rotate')

要检测,请检查返回长度是否 > 0

$(ele).css('rotate').length
于 2013-01-18T10:00:08.607 回答
0

知道了...

非常简单:

var getIdentifier = function(str) {
    return str.split('(')[0];
};

getIdentifier( 'rect(300px 0px 0px 300px)' ) // => 'rect'

于 2013-01-18T10:26:42.463 回答