Флажок и метка созданы на лету

Когда я создаю флажок и метку "на лету" с помощью jQuery, он прекрасно работает в отношении его функциональности (то есть: если я щелкаю метку, флажок устанавливается), но визуальный вид по умолчанию, который браузер назначает для метка отличается от визуального оформления по умолчанию, назначенного для метки, созданной не на лету.

[x] normal label
[x]label created on the fly

Разница - это пробел (поле) между меткой и флажком.

Есть идеи о том, что здесь происходит?

Код для создания флажка / ярлыка на лету выглядит следующим образом:

 $('<input type="checkbox" id="foo"/><label for="foo">bar</label>')

Код для создания флажка / ярлыка не на лету выглядит следующим образом:

 <input type="checkbox" id="baz"/><label for="baz">quz</label>

1 ответ

Решение

Это то, что происходило: http://jsfiddle.net/kSjJZ/

 <body>
     <ul id="bla">
         <li>
             <input type="checkbox" id="baz"/><label for="baz">quz</label>
         </li>
         <li>
             <input type="checkbox" id="foo"/>
             <label for="foo">quz</label>
         </li>
     </ul>
 </body>

По сути, есть пространственная интерпретация, если эти два тега (input и label) разделены символом \r\n

Другие вопросы по тегам