以下のコードから削除したいと思います。
<div class="country-IN">
<span class="locality">Barnala</span>
<span class="state">Punjab</span>
<span class="country">India</span>
</div>
私がそれから抜け出すのを手伝ってください。
以下のコードから削除したいと思います。
<div class="country-IN">
<span class="locality">Barnala</span>
<span class="state">Punjab</span>
<span class="country">India</span>
</div>
私がそれから抜け出すのを手伝ってください。
私は提案します:
var el = document.querySelector('.country-IN');
el.innerHTML = el.innerHTML.replace(/ /g,'');
または、jQueryを使用する場合:
$('.country-IN').html(function(i,h){
return h.replace(/ /g,'');
});
あるいは:
$('.country-IN').children().each(function(i,e){
this.parentNode.removeChild(this.nextSibling);
});
HTMLファイル自体を編集して、それらの文字列を削除する方が簡単ですが。
必要な要素を取得して、要素のhtmlとして追加し直すことができます
$('.country-IN').html(function(i,v){
return $('<div>').append($(this).children('*')).html();
});
ライブラリにとらわれない:
(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);
}
}
}
})();
まず、HTML div全体を取得し、それを文字列に変換します
convertHtmlToText(str)
{
str = str.toString();
return str.replace(/<[^>]*(>|$)| |‌|»|«|>/g, ' ');
}
HTMLタグや&nbspなどのないテキストを取得します
上記のソリューションに複数の条件を追加できます
そのためにJavaScriptを使用する必要はありません。
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>
<span class="state">Punjab</span>
<span class="country">India</span>
</div>
<div class="country-IN second">
<span class="locality">Barnala</span>
<span class="state">Punjab</span>
<span class="country">India</span>
</div>
これは、PHPのpreg_replaceを使用して行うことができます。
<?php
$html = "YOUR HTML"
$new = preg_replace("! !", "", $html);
print($new);
?>
以前にこのスクリプトを使用しましたが、正常に機能するはずです。