尝试使用jquery计算文本宽度时,无线电输入的“checked”属性将丢失。 我使用以下代码:
$.fn.textWidth = function(){
var html_org = $(this).html();
var html_calc = '<span>' + html_org + '</span>';
$(this).html(html_calc);
var width = $(this).find('span:first').width();
$(this).html(html_org);
return width;
};
我称之为:
$(".checkbox-inline-tooltip").each(function () {
$(this).css({
"position": "relative",
"float": "left",
"top": "-32px",
"left": $(this).prev('label').textWidth() + 30 + "px"
});
})
'prev'标签有一个无线电输入。调用textWidth()后,“checked”属性将丢失,从而导致取消选中无线电。
答案 0 :(得分:0)
尝试元素wrapInner()
和unwrap()
。获取innerHTML
,不会获得在输入元素中动态设置的checked, disabled
等属性。
$.fn.textWidth = function(){
$(this).wrapInner('<span>');
var width = $(this).find('span:first').width();
$(this).find('span:first').contents().unwrap();
return width;
};