2009-06-17 2 views
0

Я пытаюсь добавить что-то к ли, размещенному внутри #container #boxes #third li a, но он не совсем работает.jQuery replaceWith, append, prepend not working

Я использую следующий код:

$('#container #boxes #third li a').append(kevintext); 

Но всякий раз, когда я делаю это, ничего не происходит. Вы можете увидеть код в действии на моем testing page здесь.

Потому что это не сработало, я попробовал что-то еще: заменить промежуток внутри моего нижнего колонтитула другим текстом (так что люди с отключенным JavaScript не будут видеть «нависнуть над мной» и попытаться навести курсор).

Я использовал следующий код:

$('#footer span').replaceWith('<i>For design info, mouse over me.</i>'); 

Это не сработало, так что я имею в виду, это, вероятно, что-то делать с моим кодом, и, возможно, один исправление будет решить обе проблемы?

Пожалуйста, помогите.

+0

Было бы полезно, если бы вы потратили время на простой тестовый пример – albertein

+0

Я просто запустил $ ('# third li a'). Append ('test'); и он добавил тест ко всем 3 элементам списка в последнем блоке просто отлично. –

ответ

4

Что вы должны работать. Основная причина, по которой это, вероятно, не в том, что (по крайней мере, по быстрому взгляду, который я взял на активы/script.js), вы пытаетесь запустить это за пределами $ (document) .ready() - без упаковки вашего кода в этой функции (что вы делали для другой части) элементы еще не были созданы, поэтому в этот момент ничего не произойдет.

+1

+1 - имеет смысл – karim79

+0

Oh; Я всегда думал, что, как только document.ready запущен, это означает, что страница была закончена, и поэтому вы ничего не могли добавить к ней. –

+0

Это сделало бы множество веб-сайтов невозможным сделать :) Все document.ready делает это, ожидая, когда дерево DOM будет готово, чтобы вы могли выбирать элементы на своей странице. Поскольку вы добавляете контент в определенное место, вам нужно подождать, когда DOM будет готов, чтобы вы могли найти конкретное место. –