【发布时间】:2016-06-24 06:26:54
【问题描述】:
我有一个 <input> 标记,其中包含一些 HTML 作为值。我想删除任何具有“强调”类的<span>s,但仍保留<span> 中的内容。我也不想删除任何其他<span>s。
以下示例:
这个:
<input type="hidden" name="answer" id="answer" value="<span class="emphasis"><div class="fraction_display"><span class="numer_display">21</span><span class="bar_display">/</span><span style="border-top-color: green;" class="denom_display">23</span></div></span>"
最终应该是:
<input type="hidden" name="answer" id="answer" value="<div class="fraction_display"><span class="numer_display">21</span><span class="bar_display">/</span><span style="border-top-color: green;" class="denom_display">23</span></div>"`
我已经尝试在这个小提琴中使用 jQuery (https://jsfiddle.net/0xgx04pq/4/)...
function remove_emphasis_class (){
var content = $('#answer').val(answer);
var content_after = content.filter('span.emphasis').contents().unwrap();
$('#answer').val(content_after);
alert(content_after);
}
.emphasis {
background: orange;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" value="2 + 5 = <span class='emphasis'>7</span>" name="answer" id="answer">
<br><br>
<button onclick="remove_emphasis_class();">Remove Class</button>
...但它不起作用。 content_after 最终返回为“[object Object]”有什么想法吗?
【问题讨论】:
-
最好将其转换为 html、查询、删除并设置输入值。他们是这样写的,你的 html 不会呈现..
-
那是无效的 HTML,
class的开头引号关闭了value属性的值,剩下的内容将被解析为一团糟…… -
@epascarello:您能指导一下如何将其转换为 HTML 并进行查询吗?
-
您首先需要解决这个问题:
<input type="hidden" value="2 + 5 = <span class='emphasis'>7</span>" name="answer" id="answer">-- 您将 HTML 放入您的<input>的value属性中? -
这应该做什么? jsfiddle.net/0xgx04pq/3
标签: javascript jquery html