2017-08-30 92 views
1

我有一個在線網頁。默認情況下有一個代碼: -禁用或替換一些HTML標記

<body><center><table border="0" width="100%"><tr><td valign="top" align="center"><div class="webpage_body" style="text-align: left;"> 

我正在面對這個代碼的很多問題。它被放置在</head>標籤後面。我想通過JavaScript或CSS禁用或替換它。 我試着用JavaScript來它更換成一個未知的HTML: -

var s="<center><table border="0" width="100%"><tr><td valign="top" align="center"><div class="webpage_body" style="text-align: left;">"; s = s.replace(/<center>/g, "<c>"); s = s.replace(/<table>/g,"<ta>"); s = s.replace(/<tr>/g,"<fr>"); alert(s); 

但什麼也沒發生吧。 (編輯:)另外,我不能取代<table,因爲它不是<table>!我怎樣才能做到這一點?

+0

您只需定義一個字符串並更改其值,即不會影響DOM。默認的HTML有什麼問題,爲什麼你不能改變它,而不是試圖通過*「正確」* HTML中的「黑客」來修復它? –

+0

你應該用''''不用'''包裝你的's =「htmlcode」;'這應該做到這一點 –

+0

讓我來檢查@Patrick –

回答

2

你在那裏有一個錯字。您使用"作爲HTML字符串,但在HTML的內部,您也使用"。這將打破它。試着在字符串的開頭和結尾使用'


這是它的外觀,如果你使用的是編輯: String with "

此,如果它的外觀,如果你是用的'代替" String with ' instead of "

盒是把它包在那裏可視化的字符串。


這裏的工作示例:

var s = '<center><table border="0" width="100%"><tr><td valign="top" align="center"><div class="webpage_body" style="text-align: left;">'; 
 
s = s.replace(/<center>/g, "<c>"); 
 
s = s.replace(/<table>/g, "<ta>"); 
 
s = s.replace(/<tr>/g, "<fr>"); 
 
alert(s);

只是一個小提示:在您的例子,<table>永遠不會被替換,因爲您的例子有沒有<table>。只有<table

你可以用s.replace(/<table/g, "<ta");s.replace(/table/g, "ta");來做到這一點。

+0

哦,好的!我怎樣才能替換'

+0

只要做's.replace(/

+0

@ user8536056我'我添加了一些圖片來向你顯示錯誤。 –