2
4

5 に答える 5

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);

jsfiddleについて

于 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 に答える