2010-06-29 3 views
1

Я использую preend(), и результат кажется багги.jQuery preend() Ошибка?

$('#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> 

(Звенья просто пример ссылки)

+1

У вас есть 'a' в' a' –

+0

Вы не можете сделать ссылку, которая идет в 2 местоположения. – tcooc

ответ

4

Вы не можете иметь якорь внутри в якорь ... поэтому он не «глючит», он ведет себя неожиданно с недопустимым HTML, но когда HTML недействителен, это ... хорошо, ожидалось.

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

1

Как я знаю, в html не допускаются вложенные ссылки (элементы a). Итак, браузер закрывается первым до второго. Он не имеет никакого отношения к jQuery.

0

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

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