簡體   English   中英

Javascript onclick函數。 輸入塊。 預期封鎖

[英]Javascript onclick function. Input block. Expected block

我的問題:我沒有得到想要的輸出。 那就是“期望的塊”。

輸入塊:

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<link href='https://fonts.googleapis.com/css?family=Roboto:400' rel='stylesheet' type='text/css' />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--  Comment 1 -->
<!-- <#if> Comment 2 </#if> -->   

預期的塊:

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<link href='https://fonts.googleapis.com/css?family=Roboto:400' rel='stylesheet' type='text/css' />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--  Comment 1 -->
<#if> Comment 2 </#if>  

Codepen鏈接: http ://codepen.io/anon/pen/vLrxvw

  1. 打開該codepen鏈接。
  2. 將輸入塊代碼放在文本區域中。
  3. EXPECTED BLOCK應該是輸出。

輸出的唯一變化是“取消注釋”最后一條注釋。

嘗試使用.map() .indexOf() .outerHTML

 function processString() { var txtArea = document.getElementById("txtArea"); txtArea.value = ""; var comments = $($("#txtBox").val()) .map(function(i, el) { return (el.outerHTML || el.data).indexOf("<#if>") == -1 ? (el.outerHTML || (el.nodeType === 8 ? "<--" + el.data + "-->" : el.textContent)) : el.data }).get(); txtArea.value = comments.join("") } 
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <textarea type="text" id="txtBox"><head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <link href='https://fonts.googleapis.com/css?family=Roboto:400' rel='stylesheet' type='text/css' /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <!-- Comment 1 --> <!-- <#if> Comment 2 </#if> --> </textarea> <br /><br /> <input type="button" value="Process String" onclick="processString()" style="width:250px" /> <br /><br /> <textarea id="txtArea" rows="8" cols="30"></textarea> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM