Неправильный формат jQuery:(

#jquery

#jquery

Вопрос:

У меня есть этот код

 var p = document.createElement('p');
var a = document.createElement('a');

$(a).attr('href', 'http://www.my-site.com');
$(a).attr('title', 'My Site');
$(a).attr('target', '_blank');
$(a).attr('id', 'l');
$(a).html('<strong>m<span style="color: #D70080 !important;">Y</span> site</strong>');

$(p).attr('id', 'b');
$(p).attr('style', 'text-align: right');
$(p).html('Powered by '   $(a).html());

$('#wp_phpbb_bridge_options').parent('div').append(p);
  

Почему это возвращает меня:

Работает на моем сайте

как текст ? без ссылки ?

HTML, который я ожидаю вернуть с этим кодом, это:

 <p style="text-align: right;" id="b">
    Powered by <a href="http://www.my-site.com" title="My Site" target="_blank" id="l"><strong>m<span style="color: #D70080 !important;">Y</span> site</strong></a>
</p>
  

Ответ №1:

потому что html() в <a> элементе возвращает innerHTML . В вашем случае это текст ссылки.

Вы должны сделать:

 $(p).html('Powered by ').append($(a));