根据我的经验,我发现苏拉杰的解决方案最适合我所面临的问题。
我正在向DOM注入一个输入,使用以下元素与现有元素并排:
var filterOptions = ['001','002','005','009'];
// Inject radio inputs Using filterOptions
$.each(filterOptions, function (ind, val) {
$('Site '+val+'
').insertBefore('#allSiteSelector');
});
当这样做时,我注意到输入和放大器标签之间的元素间距不同于现有DOM元素的间距。
对于注入的元素,标签和输入之间没有间隙。
解决办法是
在输入和标签之间。
var filterOptions = ['001','002','005','009'];
// Inject radio inputs Using filterOptions
$.each(filterOptions, function (ind, val) {
$('Site '+val+'
').insertBefore('#allSiteSelector');
});
// Set siteid radio inputs Using filterOptions
var filterOptions= ['001']
// Inject WITHOUT NBSP
$.each(filterOptions, function (ind, val) {
var input = '';
var label = 'No Non-Breaking Space ' + val + '
';
$(input+label).insertBefore('#sitenameAll');
});
// Inject WITH NBSP
$.each(filterOptions, function (ind, val) {
var input = '';
var nbsp = ' ';
var label = 'With Non-Breaking Space ' + val + '
';
$(input+nbsp+label).insertBefore('#sitenameAll');
});
Site Filter
001 Site 1
002 Site 2
003 Site 3
003 Site 4
All