2013-03-25 6 views
1

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

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

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

Любые идеи о том, что здесь происходит?

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

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

Код для создания/этикетки на CheckBox не-на-лету заключается в следующем:

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

Попробуйте сделать живую демонстрацию при публикации такого вопроса. Это не воспроизводится с вашим [заданным кодом] (http://jsfiddle.net/W4y6t/). –

+3

Вы уверены, что между входом и меткой нет пробела? Также используйте инспектор, чтобы увидеть, есть ли какой-либо css, который может повлиять на элементы. – Musa

+0

Осмотрите элемент html с помощью инструментов разработчика браузеров, чтобы увидеть, что происходит, проверьте содержимое элемента и применяемые стили –

ответ

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> 

В принципе, это пространственная интерпретация, если эти два тега (ввод и метка) разделены символом \ r \ n

+0

, поэтому вы нашли свой ответ, я думаю. – Sangeeta

Смежные вопросы