使用jquery从所有标签文本中删除特定的html实体字符

时间:2017-08-24 14:32:22

标签: jquery html checkbox label html-entities

我有警告标志字符,其在HTML实体(十进制)中的值为⚠,我正在尝试将其从所有复选框的标签文本中删除。

例如,在HTML中,我的一个输入标记如下:

如何使用$ (JQuery)选择器从这些标签中删除⚠ html实体。

这是我的尝试:

$('input:checkbox').each(function (index) {
  // I thought by splitting that part and then joining it
  // with an empty string would work.
  $(this).next().text().split('⚠').join('');
});
<input id='input1'/><label for='input1'>This is the warning sign &#9888;</label>

3 个答案:

答案 0 :(得分:2)

将实际字符保留在split函数中而不是html实体中。

&#13;
&#13;
$('input:checkbox').each(function(index){       
  $(this).next().text($(this).next().text().split('⚠').join(''));
}); 
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id='input1' type="checkbox"/><label for='input1'>This is the warning sign &#9888;</label>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用split()slice(),然后使用join()来实现此目的,假设此字符始终位于字符串的末尾:

$(document).ready(function() {
  $('input:checkbox').each(function(index) {
    var yourText = $(this).next().text();
    var convertedText = yourText.split(' ').slice(0, -1).join(' ');
    console.log(convertedText);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='checkbox' id='input1' /><label for='input1'>This is the warning sign &#9888;</label>

答案 2 :(得分:0)

您可以保留实际的HTML字符:

$('input:checkbox').each(function(index){       
  $(this).next().text($(this).next().text().replace('⚠',''));
}); 
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<input id='input1' type="checkbox"/><label for='input1'>This is the warning sign &#9888;</label>