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

まず、HTML div全体を取得し、それを文字列に変換します

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

HTMLタグや&nbspなどのないテキストを取得します

上記のソリューションに複数の条件を追加できます

于 2019-09-19T10:02:24.047 に答える
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 に答える
-1

これは、PHPのpreg_replaceを使用して行うことができます。

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

以前にこのスクリプトを使用しましたが、正常に機能するはずです。

于 2013-03-11T18:18:17.587 に答える