在Javascript中使用Id攻击元素

时间:2011-07-27 08:10:52

标签: javascript html css

我需要使用javascript基于元素id来删除所有文本。

怎么做?

5 个答案:

答案 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>