2

バックエンドにJoomlaCMSを使用する顧客向けのサイトを作成しました。エンドユーザーがいくつかの記事を編集すると、画像タグの前にスペースが挿入され、IEがそれを空のテキストノードとして解釈するという問題があります。これは、IE以外のブラウザでは問題になりません。

IEは、これらの空のテキストノードを小さな「i」タイプの文字として表示しますが、アクセントを付けます。

ここに画像の説明を入力してください

マークアップを検証しました。エンドユーザーがコンテンツを編集したためにaltタグが欠落していることを除けば、マークアップは問題ありません。

バックエンドのWYSIWYGエディター関数を見つけて変更するのは簡単な作業ではないと思うので、IEにこれらの先頭のスペースを無視させたいと思います。Javascriptでこれを行う方法はありますか?

編集明確にするために...エンドユーザーがいくつかの画像を挿入した後のマークアップの一部を次に示します。

<div class="before-after">
<p>BEFORE<br /> <img src="/images/before-after/Arm%20before%20treatment.jpg" border="0" width="170" height="205" style="border: 0;" /></p>
<p>AFTER 3 TREATMENTS<br /> <img src="/images/before-after/Arm%20after%203%20treatments.jpg" border="0" width="170" height="205" style="border: 0;" /></p>
</div>

imgタグの前の先頭のスペース以外の文字が表示されません。IEでは、このスペースはìとして表示されています

サイトはここにあります: http ://www.radiantliving.co.uk/laser-tattoo-removal

4

1 に答える 1

3

スペースは&nbsp;(改行スペース文字なし)のようです。次の JavaScript コードを使用してそれらを削除できます。

$(function(){
     var scope = $("#article");
     scope.html(scope.html().replace(/&nbsp;/g,''));
});

を任意の親要素に変更しscopeます。現在、#article要素の子全体を調べています。

于 2012-12-14T17:37:42.950 に答える