Найти элемент в родительском контейнере с помощью jQuery

Я пытаюсь настроить таргетинг на элемент в моей LI, только у меня проблемы, я прочитал документацию jQuery, но не могу понять, что я делаю неправильно?

На событии клика я хочу найти элемент и изменить HTML внутри ...

http://jsfiddle.net/68ePW/3/

<code><li>
    <h2>400</h2>
    <form>
        <input type='submit' class='click' value='send'>                
    </form>
</li>

$('.click').click(function(){
    $(this).parent('li').closest('h4').html('asdasd');
});
</code>
 Christian26 апр. 2012 г., 01:22
Я думаю, что вы хотели использовать «h2» как параметр для closest ()
 zerkms26 апр. 2012 г., 01:23
$(this).closest('li').find('h2') ?
 David Thomas26 апр. 2012 г., 01:15
Какой элемент? И что с этим делать? Покажи свой кодhereJS Fiddle - приятное дополнение, но ваши вопросы должны иметь смысл и сохранять свою полезность, не полагаясь на внешние сайты.

Ответы на вопрос(1)

Решение Вопроса

li сulРазвернутыйli неверный HTML):

<ul>
    <li>
        <h2>400</h2>
        <form>
            <input type='submit' class='click' value='send'>                
        </form>
    </li>    
</ul>​​​​​​​​​​​​​​​​​​

И следующий jQuery:

$('.click').click(function(){
    $(this).parent('li').closest('h4').html('asdasd');
});

Похоже, вы пытаетесь найтиh4 в пределахli, У вас много проблем:

Using parent() only looks up to the immediate parent element of the current element; use closest() instead, to look up through the ancestors until it finds a matching element, closest() (as mentioned) looks up through the ancestor elements, while you're trying to find an element among the descendants of the li element. Use find(), You were searching for an h4 element, which didn't exist. You needed (I assume) to find the h2 that was present in the DOM.

Так:

$('.click').click(function(){
    $(this).closest('li').find('h2').html('asdasd');
});

JS Fiddle demo.

Рекомендации:

closest(). find(). parent().
 26 апр. 2012 г., 01:30
& quot; Я вижу, что это работает на jsfiddle, только на моем реальном сайте & quot; --- и сейчасyour работа состоит в том, чтобы заставить это работать. Мы здесь, чтобы понять, как это сделать, а не сделать все для вас.
 26 апр. 2012 г., 01:27
Я не знаю; чтобы ответить, что мы должны видеть ваш сайт и иметь некоторое представление о том, что там происходит.
 Liam26 апр. 2012 г., 01:25
Спасибо @David Thomas, я вижу, что он работает на jsfiddle, но не работает на моем реальном сайте, при загрузке страницы форма изначально отображается: нет и становится видимой только при нажатии верхней части кнопки, переключающей ее вид. Может ли это быть причиной?

Ваш ответ на вопрос