0

我正在使用$.data()函数来设置 div 的大小:

function init() {
    comp = $("#center");
    comp.data('image', {
        dimensions : {
            width : comp.width(),
            height : comp.height(),
            x0 : comp.position().left,
            y0 : comp.position().top,           
        }
    });
}

我正在检索如下值:

var image = comp.data('image');
alert(image.dimensions.x1);

代码很好,它也可以工作。我想知道是否可以通过$.attr()函数来​​实现以及哪种方式会更好。

4

3 回答 3

1

您可以像这样轻松处理:

var values = {width: '100px', height: '100px'};
$('#id-of-your-img').css(values);
于 2013-08-30T14:36:18.650 回答
0

这是一个示例,其中有人添加了一个函数来创建具有一些额外功能的类似行为。

小提琴

// dispatch to data() and attr()
$.fn.dataAttr = function(key, value) {
    var $this = this,
        ret = this.data(key, value);

    if (typeof key == "object") {
        $.each(key, function(key, value) {
            $this.attr("data-" + jQuery.uncamelCase(key), typeof value in {string:1, number:1} ? value : '~defined~');
        });
    } else if (value !== undefined) {
        $this.attr("data-" + jQuery.uncamelCase(key), typeof value in {string:1, number:1} ? value : '~defined~');
    }

    return ret;
};
于 2013-08-30T14:38:07.580 回答
0

您可以尝试使用 attr("style", ""),但我更喜欢使用 css() 进行 CSS 操作。见这里:http ://api.jquery.com/css/

于 2013-08-30T14:31:40.663 回答