closest(). Как найти элемент в толпе?
Ломаю стену 3й час... Никак не могу понят одного...
Есть код: <div class="parent"> <div class="item"> <div class="folder"> <div class="result"> </div> ... <img ... /> <a class="add"><img ... /></a> ... </div> </div> <div class="item"> ... </div> и некий скрипт:
$("a#add").click(function(e){
e.preventDefault();
$.ajax({
url: $(this).attr("href"),
success: function(data) {
$(this).closest(".result").text(data);
}
});
});
Почему в div.result не выводится текст? Если указать жестко селектор, то выводится у первого div.result из списка(а их в списке n). |
.result не является родителем #add
|
не $("a#add")
а
$("a.add")
класс и id разные вещи |
PeaceCoder опечатался в коде.
exec, натолкнули на мыслю :)
$(this).closest("div").prev().fadeOut();
как-то так |
$("a#add").click(function(e){
var that = $(e.target).closest('a');
e.preventDefault();
$.ajax({
url: $(this).attr("href"),
success: function(data) {
*!*
//$(this).closest(".result").text(data);
*/!*
$(that).closest(".result").text(data);
}
});
});
А чем здесь является this, товарищи? Скорее всего XHR. |
e1f да вы правы. часть $(that).closest(".result")... почему-то не сработала, а
$(that).closest("div").prev()... отработало как положено. |
Тьфу, у вас разметка табами сбита, не увидел, что a не в result.
Не почему-то не сработала, а так и надо. |
Товарищи-Гуру.
Подскажите пожайлуста.Вопрос на счет поиска парента. Аж 3 варианта для: <div > <div ><p><img id='Nam'></p></div> </div> 1 $('img[id='Nam']').closest('div' ) 2 $('img[id='Nam']').parent().parent('div' ) 3 $('div:has(img[id='Nam])') ЧТО найдет этот парент имиджа БЫСТРЕЕ? так как ВСЕ работают ОДИНАКОВО |
Андрей38, предложу такой вариант... :)
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function() {
*!*
var o=$('#Nam').parents('div');
*/!*
alert(o.get(0).className);
});
</script>
</head>
<body>
<div >
<div class='test'>
<p><img id='Nam'></p>
</div>
</div>
</body>
</html>
Поскольку ты с атрибутами явно перемудрил... ;) |
Спасибо КСА! Буду разбираться...
А ,кажеться этот ГЕТ тоже что и индекс? А так_ на прямую_ $('div ').find('.test') будет еще быстрее ? |
| Часовой пояс GMT +3, время: 16:57. |