2012-01-23 2 views
0

何らかの理由で、WordPressが何らかの理由でページに「空白」段落タグをランダムに挿入します。私はタグを一致させることが難しいと思っています..それは完全に空ではないが、いくつかの奇妙なキャラクターのように私は見ることができない、それはソースコードにはないが、javascriptによって生成されるので、それは何ですか?WordPressの空白の段落タグのパターンに一致しません

私のJSファイルは最後に<head>に読み込まれます。私はJavaScriptでregexでする新たなんだ

...

それが放火犯(そこに小さなスペース/タブ/何かであるかどうかわからない)

<p></p> 

マイJavaScriptで次のようになります

それを削除します(テキストノードを含む)子を持たないすべての要素を選択する代わりに

jQuery(window).load(function() { 
    var page = jQuery('body').html(); 
    page.replace('/\<p\>\S*\<\/p\>/', ''); 
    jQuery('body').html(page); 
}); 
+0

**何?!**あなたはすでに、デシリアライゼーション(要素をDOMにHTMLコードを変換)機能を有している、特にJavaScriptでは、HTML上で正規表現を実行しないでください。 – Christian

+0

さて、あなたは、正規表現をHTMLの_parse_に使うべきではありません。これは、基本的なテキスト置換でやっていることではありません。とにかく、ShankarSangoliによって投稿されたソリューションは最高のもので、正規表現は使用しません。 – Rohaq

答えて

1

使用jQueryのemptyセレクタを。これを試して。

jQuery(window).load(function() { 
    jQuery('body').find('p:empty').remove(); 
}); 
+0

正規表現のソリューションを投稿しても、これははるかに良いアイデアです。アップボーニング。 – Rohaq

+0

ありがとう!私はあなたがjQuery(window).loadとjQuery(document).readyの両方を使用することはできないようだが、これはなぜですか?回避策はありますか?私は実際には今は必要ないが、将来を知ることは良いことだ! – OZZIE

0

あなたは正確な文字列を知っているので、ちょうどそれにマッチするだけで問題はありますか?

page.replace('/\<p\>\<\/p\>/',''); 
+0

時には、文字が表示されていないか、現在の環境で表示できない文字がある場合は、str.replaceを先に試してみました。 – OZZIE

関連する問題