[英]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
輸出的唯一變化是“取消注釋”最后一條注釋。
嘗試使用.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.