2

我想 从下面的代码中删除。

<div class="country-IN">
   <span class="locality">Barnala</span>
   &nbsp;&nbsp;
   <span class="state">Punjab</span>
   &nbsp;&nbsp;
   <span class="country">India</span>
</div>

请帮我摆脱它。

4

6 回答 6

18

我建议:

var el = document.querySelector('.country-IN');
el.innerHTML = el.innerHTML.replace(/&nbsp;/g,'');

JS 小提琴演示

或者,使用 jQuery:

$('.country-IN').html(function(i,h){
    return h.replace(/&nbsp;/g,'');
});

JS 小提琴演示

甚至:

$('.country-IN').children().each(function(i,e){
    this.parentNode.removeChild(this.nextSibling);
});

JS 小提琴演示

尽管简单地编辑 HTML 文件本身并删除这些字符串会更容易。

于 2013-03-11T18:16:56.773 回答
1

您可以获取所需的元素并将其作为元素的 html 添加回来

$('.country-IN').html(function(i,v){
   return $('<div>').append($(this).children('*')).html(); 
});

小提琴

于 2013-03-11T18:19:25.397 回答
0

图书馆不可知论者:

(function() {
var country_els = document.querySelectorAll('.country-IN');

for (var i = 0; i < country_els.length; i++) {
    for (var j = 0; j < country_els[i].childNodes.length; j++) {
        var node = country_els[i].childNodes[j];
        if (typeof node.tagName === 'undefined') {
            node.parentNode.removeChild(node);
        }
    }  
}
})();

小提琴

于 2013-03-11T18:47:05.110 回答
0

我们不需要为此编写 javascript。我们可以&nbsp;只用 CSS 隐藏。添加font-size: 0到容器和font-size: 1rem子项。

.second {
  font-size: 0;
}

.second > span {
  font-size: 1rem;
}
<div class="country-IN">
  <span class="locality">Barnala</span>
  &nbsp;&nbsp;
  <span class="state">Punjab</span>
  &nbsp;&nbsp;
  <span class="country">India</span>
</div>

<div class="country-IN second">
  <span class="locality">Barnala</span>
  &nbsp;&nbsp;
  <span class="state">Punjab</span>
  &nbsp;&nbsp;
  <span class="country">India</span>
</div>

于 2020-07-22T21:42:42.177 回答
0

首先,获取整个 HTML div 并将其转换为字符串

convertHtmlToText(str)
{
   str = str.toString();
  return str.replace(/<[^>]*(>|$)|&nbsp;|&zwnj;|&raquo;|&laquo;|&gt;/g, ' ');
}

您将获得没有 HTML 标记和   等的文本

您可以在上述解决方案中添加多个条件

于 2019-09-19T10:02:24.047 回答
-1

您可以使用 PHP 中的 preg_replace 来执行此操作。

<?php
$html = "YOUR HTML"
$new = preg_replace("!&nbsp;!", "", $html);
print($new);
?>

我以前使用过这个脚本,它应该可以正常工作。

于 2013-03-11T18:18:17.587 回答