jQuery prepend () Ошибка? - PullRequest
       15

jQuery prepend () Ошибка?

1 голос
/ 29 июня 2010

Я использую prepend (), и результат кажется ошибочным.

$('#element').prepend('<div><a href="http://google.com"><a href="http://test.com">Test.com</a> - A site</a></div>');

И результат html (также просматриваемый с помощью Firebug) глючит:

<div>
    <a href="http://google.com"></a>
    <a href="http://test.com">Test.com</a> - A site
</div>

(Ссылки являются только примерами ссылок

Ответы [ 4 ]

4 голосов
/ 29 июня 2010

У вас не может быть якоря внутри якоря ... поэтому он не "глючит", он ведет себя неожиданно с недопустимым HTML, но когда HTML недопустим, это ... ну, ожидаемо.

Подумайте об этом, если вы нажали на внутреннюю привязку, куда должен пойти ваш браузер? Вы нажали http://test.com и http://google.com.

1 голос
/ 29 июня 2010

Как я знаю, вложенные ссылки (элементы a) не допускаются в html.Так что браузер закрывается первым перед вторым.У него нет связи с jQUery.

0 голосов
/ 04 октября 2013

Вы должны написать в правильном формате DOM. Договорились с Ником Крейвером.

Как только тег "a" встречает другой элемент "a", DOM автоматически закрывает предыдущий тег "a". так же, как с xml do.

0 голосов
/ 29 июня 2010
...