使用子元素访问其他父属性

时间:2012-06-20 05:59:52

标签: jquery jquery-ui parent-child

我创建了一个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>

现在在remove函数中,我需要带有“.title”类的标签之间的文本。我怎样才能做到这一点?我试过这个,但它似乎没有起作用:

var remtitle = $(el).parent()。parent()。find(“。title”)。val();

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

1 个答案:

答案 0 :(得分:1)

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

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

请注意,添加closest()功能也有助于轻松找到父级,而不是一次又一次地使用parent()。还要确保将代码放在jQuery ready()处理程序中。