如何在jQuery中获取rel值?

时间:2012-09-21 06:59:47

标签: jquery jquery-ui drag-and-drop rel

我使用jQuery UI拖放功能来选择图像专辑。图像ID在rel参数中存在,我需要在图像丢弃后复制到输入元素。

这是图像列表。使用可拖动的

<img src="01.jpg" title="image 01" rel="10" />
<img src="02.jpg" title="image 02" rel="11" />
<img src="03.jpg" title="image 03" rel="12" />

放在这里:

<div id="dropzone">
    <div id="imgcontainer"></div>
    <input type="text" name="img_id" id="img_id" />
</div>

可放置的JS代码在这里:

$('#dropzone').droppable({
    hoverClass: 'bgSelected',
    drop: function(event, ui) {
        $(this).html(''); // to remove any other stuffs
        var img = ui.draggable;
        $('<img src="'+img.prop('src')+'" title="'+img.prop('title')+'">').appendTo( $(this) );
        $('<input type="text" name="img_id" id="img_id" value="'+img.prop('rel')+'" />').appendTo( $(this) );
    },
});

img.prop('rel')返回空字符串。我试图使用img.attr('rel'),但返回一个对象元素。如何获得“rel”值?

3 个答案:

答案 0 :(得分:2)

您可以使用attr代替道具。 喜欢..

$(function() {
  $('#dropzone').droppable({
    hoverClass: 'bgSelected',
    drop: function(event, ui) {
         var img = ui.draggable;
        //alert($(ui.draggable));
        var id =img.attr('rel');


    $(this).html(''); // to remove any other stuffs

     $('<img src="'+img.prop('src')+'" title="'+img.prop('title')+'">').appendTo( $(this) );
      $('<input type="text" name="img_id" id="img_id" value="'+id+'" />').appendTo( $(this) );
    },
  });

这是一个小提琴链接http://jsfiddle.net/fLJuB/19/

答案 1 :(得分:0)

alert($("#img").attr("rel"));

如果你使用.attr(“rel”)。 text()它将不起作用。

答案 2 :(得分:0)

如果使用ui.draggable获取对象中的其他属性,也许可以使用一些jquery选择器。例如,如果img.prop('src')向右返回src属性,则可以使用它来选择带有jquery属性选择器的图像

alert($('img[src="' + img.prop('src') + '"]').attr('rel'));

编辑:嗨,认为这很好用 - &gt; link