2017-12-22 14 views
0

私は、CRM(Netsuite)によって自動生成されたWebページを持っており、かなりの量のページで生成されたHTMLを制御しません。オブジェクトを同じ行と上下の行に表示するように、いくつかの閉じタグと開始タグを削除したいと思います。Javascriptで終了HTMLタグを削除しますか?

</tr></tbody></table></td> 
</tr> 
<tr valign="top"> 
<td width="100%"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr> 

私が持っている問題は、以下を実行すると、すべてのボタンが失敗し、ページ上のフォームを壊すことです:

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
    var bodyHtml = document.getElementById('content_area').outerHTML; 
    bodyHtml = bodyHtml.replace('</tr></tbody></table></td>\n</tr>\n<tr 
     valign="top">\n<td width="100%"><table border="0" cellpadding="0" 
     cellspacing="0" width="100%"><tbody><tr>','<!-- worked -->'); 
    document.getElementById('content_area').outerHTML = bodyHtml; 
    }); 
</script> 

はdoesnのJavaScriptでHTMLタグを除去するための別の方法はありますドームの残りの部分を形成しない?

+4

実際のマークアップを変更するのではなく、要素を移動してDOMを変更する方がよいでしょう。 – user184994

+0

どうすればよいですか?のは、私が

​​コンテンツ1
​​コンテンツ2
を持っているとしましょう。 ​​コンテンツ1​​コンテンツ2
:あなたは、私は、次で終わるために、第2​​を移動しようと示唆していますか? –

+0

はい、私は礼儀のように働いた例 – user184994

答えて

1

次のコードは、右の注意すべきポイントのcontent 1td

let contentOne = document.querySelector("table:nth-of-type(1) tr td"); 
 

 
let contentTwo = document.querySelector("table:nth-of-type(2) tr td"); 
 

 
contentOne.insertAdjacentElement('afterend', contentTwo);
tr td { 
 
    border: 1px solid black 
 
}
<table> 
 
    <tr> 
 
    <td>content 1</td> 
 
    </tr> 
 
</table> 
 
<table> 
 
    <tr> 
 
    <td>content 2</td> 
 
    </tr> 
 
</table>

カップル後、あなたが変更することもできますあなたのコメントから例を取ると、content 2tdを追加しますセレクタ。できるだけIDを活用してください。

第2に、完了したら空のテーブル/行をクリアしたいかもしれません。

+0

を示す答えを作成しました! (使用ID、それに感謝します) –

関連する問題