我需要使用javascript基于元素id来删除所有文本。
怎么做?
答案 0 :(得分:5)
使用vanilla javascript的最简单方法应该是操纵HTML内容本身。这看起来像是:
var targetElem = document.getElementById('myid');
targetElem.innerHTML = '<strike>' + targetElem.innerHTML + '</strike>';
使用jQuery,使用.contents()
+ .wrapAll()
,此任务变得更加轻微:
$('#myid').contents().wrapAll('<strike/>');
使用css的另一种选择也可能是一个想法:
targetElem.style.textDecoration = 'line-through';
或者再次使用jQuery更符合跨浏览器:
$('#myid').css('text-decoration', 'line-through');
答案 1 :(得分:3)
类似
document.getElementById('foo').style.textDecoration ='line-through';
答案 2 :(得分:2)
CSS:
.strike{
text-decoration:line-through;
}
jQuery的:
jQuery("#yourid").addClass("strike");
答案 3 :(得分:0)
只需将您的ID替换为yourID
如果您使用的是JQuery,这将很简单。
$("#yourID").css("textDecoration", "line-through");
如果不使用JQuery。
var element = document.getElementById('yourID');
element.style.textDecoration = 'line-through';
但我不确定它是否适用于所有浏览器。
答案 4 :(得分:0)
您可以获取标签中包含的文本,并在每个字母的中间添加一个长删除线:
var targetElem = document.getElementById('myId');
var oldSting = targetElem.textContent
var strikeString = oldSting.split('').join('̶') + '̶';
targetElem.textContent = strikeString;
<p id="myId">some text</p>