【发布时间】:2016-06-23 03:54:55
【问题描述】:
我想从表格的特定单元格中具有该类的所有标签中删除 emphasis 类。我正在选择这样的表格单元格内容:
var answer = $('tr.problem_display_work:last td:first').html();
在代码的另一个地方,我正在使用unwrap(),如下所示:
$(".emphasis").contents().unwrap();
但是,我不确定如何将两者结合起来。我试过了,但失败了:
var answer = $('tr.problem_display_work:last td:first').html().(".emphasis").contents().unwrap();
有什么想法吗?
编辑澄清 #1:我想将 HTML 保留在标签内。所以,如果我有:14 + 6 = <span class="emphasis">20</span> 我想以14 + 6 = 20 结束。
编辑澄清 #2:有问题的 HTML 被设置为隐藏的 <input> 字段的值,例如 $('#answer').val(answer);。 Gleb Kemarsky 的解决方案很好,但由于某种原因它没有应用输入字段的值。
编辑澄清 #3...
我有一个<table>,其中包含一些行和单元格。在最后一行的第一个单元格中,我有一些内容(例如14 + 6 = <span class="emphasis">20</span>)。
我使用var answer = $('tr.problem_display_work:last td:first').html(); 获取该单元格的HTML,然后使用$('#answer').val(answer); 更新隐藏<input id="answer"> 的值。
发生这种情况时,我想将 14 + 6 = <span class="emphasis">20</span> 转换为 14 + 6 = 20 以获取隐藏的 <input id="answer"> 的值,但在表格中将其保留为 14 + 6 = <span class="emphasis">20</span>。
编辑澄清 #4...
关键是删除任何具有emphasis 类的<span>s。
这..
<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>
最终应该是...
<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>
【问题讨论】:
-
OP 也可以包含 HTML 标记
-
使用
.find()而不是.html() -
这个怎么样。
$('tr.problem_display_work:last td:first').find(".emphasis").removeClass("emphasis"); -
如果你想删除一个类,你为什么要删除一个元素而不只是删除类?