0

私はdrupalのウェブサイトを持っています。問題があるようです。bodyタグの終わりの前に数字が表示されます9。したがって、jQueryを使用してそれを削除する必要があります。

jQueryにfind()メソッドがあることは知っていますが、文字ではなく要素のみを検索します。文字を見つけて削除する必要があります。bodyタグ以外の要素には含まれないため、周囲の要素を選択して削除することはできません。

<body>all the other site elements....9</body>

その9を削除する必要があります。提案してください。ありがとう

4

1 に答える 1

1

文字が追加された理由を見つけて、それを削除する必要があります。ただし、一時的な修正としてクライアント側で行うには、次のようにします。

ドキュメント全体を操作innerHTML(または)したくない。.html()代わりに、の最後の子ノードを取得しdocument.body(これまでのところ、jQueryはそれを実行できます)、それがテキストノードであることを確認し(jQueryはこの時点では不十分です)、テキストコンテンツを少し短くします。どちらもクロスブラウザ互換ではありません(textContent標準になることを望んでいるかもしれませんが)。ただし、テキストノードの場合は、次のものを使用できます。innerTextinnerTextnodeValue

$(document).ready(function(){
  var node = document.body.lastChild;
  if(node && node.nodeType == node.TEXT_NODE){
    node.nodeValue = node.nodeValue.replace(/9^/,"")
  }
})

9は本文に最後に表示されるものと見なされ、その後に非表示のコンテンツ(空白、スクリプトタグ、コメントタグ)がないことに注意してください。正規表現を変更することで空白を無視でき(読者の演習として残します)、非表示のノードをスキップすることは反復によって行うことができます(特定の状況に合わせて調整すると簡単です。結局のところ一時的な修正です)。

便利なリンク:

https://developer.mozilla.org/en-US/docs/DOM/Node.lastChild
https://developer.mozilla.org/en-US/docs/DOM/Node.nodeType
https://developer.mozilla。 org / en-US / docs / DOM / Node.nodeValue
https://developer.mozilla.org/en-US/docs/DOM/Node.previousSibling

于 2013-03-25T08:24:47.593 に答える