我创建了一个函数来隐藏和显示某些字段,问题是标签只是 td 内的文本,并应用了标签 ID,例如解析类型_c_标签。我无法隐藏 td 本身,因为它破坏了表格布局,所以我用 innerwrap 隐藏文本。当我想显示字段时,最好删除跨度标签而不删除文本。
$(document).ready(function(){
hide();
function hide(){
if($('#status').val() != 'Resolved') {
$('#resolution_type_c').hide();
$('#resolution_type_c_label').wrapInner('<span id="wrap1" style="display:none"></style>');
$('#resolution_sub_c_label').wrapInner('<span id="wrap2" style="display:none"></style>');
$('#resolution_sub_c').hide();
$('#resolution_label').wrapInner('<span id="wrap3" style="display:none"></style>');
$('#resolution').hide();
}
else {
$('#resolution_type_c').show();
$('#resolution_sub_c').show();
$('#resolution').show();
}
} */
$('#status').on('change', function() {
hide();
});
});
最佳答案
.unwrap()从 DOM 中删除匹配元素集的父元素,将匹配元素保留在其位置。
.wrap()将 HTML 结构包裹在匹配元素集中的每个元素周围。
由@Spokey 对帖子的评论提供
$('span').contents().unwrap();
关于javascript - 删除跨度标签而不删除内部文本的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19226288/