2012-06-20 4 views
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(); 
    }); 
} 

И это код (удалить (это) функция), через которую эта функция выполняется:

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, так что это может быть любительская ошибка.

+0

Ugh, встроенный javascript внутри строки javascript? Я бы начал отслеживать проблему оттуда ... – elclanrs

+0

вы пробовали .text()? –

+0

.text() также работает .. Спасибо за вашу помощь! :) –

ответ

1

html() Использования или text() вместо val() поскольку звукозаписывающей компании не является тип входа:

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

Обратите внимание, что добавление closest() функции также, это помогает найти родитель легко, а не использовать parent() снова и снова. Также обязательно поместите свой код в обработчик jQuery ready().

+0

Спасибо .. Функция closeest() хороша для доступа к родительским элементам! Тем более, что очень мало нужно думать о полном дереве DOM для поиска родительского элемента. –

Смежные вопросы