私は次のものを持ってdiv
いますchildren
。
<div>
<img src="http://zferral.com">
<!--zferral is an invisible image analytics tool-->
<script>Some Comment</script>
</div>
この div には 3 つの項目があります。、script
、image
およびcomment
。
それらが本当にこのdiv内にあるかどうかを知り、ブール値を返す必要があります。
これをjqueryで使用できるようにする必要があるため、目に見える子がない場合はdivを非表示にできます。
これらはすべて返されtrue
ます (下)。一番上の例は を返すはずfalse
です。
<div>
<img src="http://zferral.com">
<!--zferral is an invisible image analytics tool-->
<script>Some Comment</script>
<p>Hello</p>
</div>
<div>
<img src="http://zferral.com">
<!--zferral is an invisible image analytics tool-->
<script>Some Comment</script>
Hello
</div>
<div>
<img src="http://zferral.com">
<!--zferral is an invisible image analytics tool-->
<script>Some Comment</script>
<img src="anything other than zferral">
</div>
私の進歩
私は.clone()
divをコピーするために使用していましたが、すべてのスクリプトタグがそれらを削除していることがわかります。
すべてのコメントを解析して削除するには、正規表現を使用する必要があります。
次に、正規表現と .find を使用して、リンク内の zferral を含む画像を取得します。
最後に文字列が必要<div></div>
で、それが空であることを確認できます。
私は立ち往生しており、これが最善のアプローチであるかどうかは正確にはわかりません。
part.additional = function(){
var test = $('.group[style="border: none;"]').clone().find('script').remove().end();
((jQuery('#content .group').length > 1 && jQuery('#content .group:nth-child(2)').find('*:visible').length !== 0)) ? jQuery('#content').clone(true).attr('id','additional').find('.group:first').remove().end().find('script').remove().end() : false ;
}
var a = jQuery('#content .group').length > 1;
var b = jQuery('#content').clone(true).attr('id','additional').find('.group:first').remove().end().find('script').remove().end().find('style').remove().end().find('[style="border: none;"]').removeAttr('style').end();
var c = jQuery('#content').clone(true).attr('id','additional').find('.group:first').remove().end().find('script').remove().end().find('style').remove().end().find('[style="border: none;"]').removeAttr('style').end().html().replace(/\n|\r|(\s\s)/g,'');
var d = '<div class="group"></div>' == c;
var e = (!d) ? b : false;