如何将宽度值传递给自定义属性?

时间:2016-11-04 18:39:56

标签: javascript jquery html css jquery-ui

假设我的<img>标记的data-widthdata-height属性设置为0。

如何获取img的宽度和高度,然后将其传递给我的自定义属性?

有人可以帮我解决这个问题。我一直在挖掘这么久。

这是我的代码不起作用:

$(".draggable").draggable({
    helper: "clone",
    cursor: 'move'
});
$("#dropzone").droppable({
    drop: function (event, ui) {
        var canvas = $(this);
        if (!ui.draggable.hasClass('object')) {
            var canvasElement = ui.helper.clone();
            canvasElement.addClass('object');
            canvas.find("div").removeClass('activeElement');
            canvasElement.addClass('activeElement');
            canvasElement.removeClass('draggable ui-draggable ui-draggable-handle ui-draggable-dragging');
            var mywidth = canvasElement.find("img").width();
            canvasElement.find("img").data("width",mywidth);
            canvas.append(canvasElement);
            canvasElement.css({
                left: (ui.position.left),
                top: (ui.position.top),
                position: 'absolute',
                zIndex: 2              
            });

            canvasElement.draggable({
             cursor: 'move',
             containment: '#dropzone'
           });

2 个答案:

答案 0 :(得分:0)

不确定您获得或设置.data()有哪些问题?您应该能够使用widthheight img.attr()获取DOM.naturalWidth .naturalHeight元素,然后使用从.data()

中检索到的值设置attr()
var img = $("img");
var [width, height] = [img.attr("width"), img.attr("height")];
img.data({width:width, height:height});

答案 1 :(得分:0)

我解决了。它只是我的代码的位置。在获得宽度和高度之前,我首先追加元素。