1

我创建了一个 jqueryUI 拖放列表。现在,我需要从中删除一个对象。我为此使用了以下功能:

function remove(el) {
$(el).hide();
$(el).parent().parent().effect("highlight", {color: "#ff0000"}, 1000);
$(el).parent().parent().fadeOut('1000');
setTimeout(function() {
    $(el).parent().parent().remove();
    });
}

这是执行此函数的代码(remove(this) 函数):

var html = '<div class="item i">';
html = html + '<div class="divrm">';
html = html + '<a onclick="remove(this)" class="remove '+itemid+'">&times;</a>';
html = html + '<div/>'+item+'</div>';

假设我有一个这样的元素:

<div class="item" id="i2">
<img src="img/2.jpg"/>
<label class="title">Title</label>
<label class="weight">Heavy</label>
</div>

现在在删除功能中,我需要具有“.title”类的标签之间的文本。我怎样才能做到这一点?我已经尝试过了,但它似乎不起作用:

var remtitle = $(el).parent().parent().find(".title").val();

我究竟做错了什么?我对 jquery 相当陌生,所以这可能是一个业余错误。

4

1 回答 1

1

使用html()ortext()代替,val()因为标签不是输入类型:

var remtitle = $(el).closest('.item').find(".title").html();

Notice that addition of closest() function also, it helps find a parent easily rather than using parent() again and again. Also make sure to put your code in jQuery ready() handler.

于 2012-06-20T06:04:01.930 回答