1

当我使用 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>
4

1 回答 1

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 分隔,则存在空格解释

于 2013-03-25T03:15:02.477 回答