所以我正在动态插入一个 strike 元素,但它在 HTML 标记中呈现,但没有在视觉上显示。 Chrome 检查器显示添加了 strike 元素。是因为我在输入元素周围添加它吗?
这是 jQuery
$("#ResidentialStandardPeriod").change(function () {
period = $("#ResidentialStandardPeriod").val();
console.log(period);
if (period == $('#' + period).attr('id')) {
$('#' + period).attr('disabled', true).wrap("<strike>")
$('input[type=checkbox]').not('#' + period).attr('disabled', false);
}
});
你不能包装 input
带有 </del>
的元素, 因为不会对输入产生任何影响但你可以包装下一个元素,在你的情况下 number
.我希望您将您的电话号码包装在 <span>
中然后以该跨度为目标。
HTML
<input type="checkbox" value="1" id="1"><span>1</span><br>
<input type="checkbox" value="1" id="2"><span>2</span><br>
<input type="checkbox" value="1" id="3"><span>3</span><br>
<input type="checkbox" value="1" id="4"><span>4</span><br>
JQuery
$('#Period').change(function(){
period = $('#Period').val();
$("span").unwrap();
console.log(period);
if (period == $('#'+period).attr('id')){
$('#'+period).attr('disabled',true).next("span").wrap("<del/>");
$('input[type=checkbox]').not('#'+period).attr('disabled', false);
}
});
DEMO
我是一名优秀的程序员,十分优秀!