问问题
1040 次
5 回答
2
这应该正是这样做的:
function myfunc(node)
{
node.parentNode.parentNode.replaceChild(node, node.parentNode);
}
问题是它只能运行一次,所以你需要额外的检查:
function myfunc(node)
{
var parent = node.parentNode;
if (parent.nodeName === 'STRONG') {
parent.parentNode.replaceChild(node, parent);
}
}
于 2013-05-08T15:28:11.967 回答
2
直接的答案可能是(假设你只有<a>
内部<strong>
元素)
function myfunc(e) {
var oStrong = e.parentNode;
oStrong.parentNode.appendChild(e);
oStrong.parentNode.removeChild(oStrong);
}
但是,我还想指出两者之间的区别<strong>
以及哪些可能(错误地)用作同义词:<b>
属性或其表亲,style.fontWeight = 'bold';
css 属性。
<strong>
是为了强调一个重要的文本,例如盲人的浏览器会这样解释。粗体方面纯粹是一种风格,不会在 lynx 下渲染。
所以,如果你想让一些东西变得大胆,请改用上面提到的 css 样式。然后,您只需调用即可轻松删除此样式.style.fontWeight = 'normal';
于 2013-05-08T15:33:31.903 回答
1
这也是一个可能的解决方案,它将考虑也是strong
.
HTML
<div>
<strong>saker <a id="link1" href="#">mylink</a> ting</strong>
</div>
Javascript
function myFunc() {
this.removeEventListener("click", myFunc);
var copyNodeList = [],
parent = this.parentNode,
grandParent = parent.parentNode;
while (parent.firstChild) {
copyNodeList.push(parent.removeChild(parent.firstChild));
}
grandParent.removeChild(parent);
copyNodeList.forEach(function (node) {
grandParent.appendChild(node);
});
}
document.getElementById("link1").addEventListener("click", myFunc, false);
于 2013-05-08T15:43:19.683 回答
0
function myfunc(obj) {
if ($(obj).parent().is("strong")) {
$(obj).unwrap();
}
}
于 2013-05-08T15:30:26.050 回答
0
像这样的东西应该工作:
function myfunc(elem){
$(elem).parent().html($(elem));
}
于 2013-05-08T15:31:51.763 回答