2012-03-08 14 views
-1

私はテキストブロック内のすべてのイメージタグを一意の文字列で置き換えようとしています。これまでは、タグの先頭と末尾のインデックスを取得し、部分文字列を作成してから部分文字列を置換しようとしました。問題は、これを無限に行うことができないことです(テキストブロック自体はn個のイメージタグで長くなる可能性があります)。ここでテキスト全体を検索して置換する方法は?

は、これまでの私のコードです:

var txtBlock = currBlock.getElementsByClassName("txtContent")[0]; 
var imgStartPoint = txtBlock.indexOf("<img "); 
var imgEndPoint = txtBlock.indexOf(" />"); 
var imgstring = txtBlock.substring(imgStartPoint, imgEndPoint); 

は、どのように私は何回このプロセスnの番号を繰り返すことができますか?

+1

あなたは何を意味しますかテキストブロック? '.getElementsByClassName(" txtContent ")[0]'はあなたにテキストではなくDOMノードを与えます。 –

+0

さて、あなたはこの質問に答えるでしょう。イメージはページ上の実際のイメージですか、または要素にレンダリングされるのではなくHTMLとしてページ上に表示されるテキストですか? –

答えて

0

この問題にアプローチする最も良い方法は、一般的なプログラミングの問題の多くは、あなたがする必要があることを考えて、簡単な英語で問題を解決するために実行する必要がある手順を書き出すことです。

はあなたが始めるためには、おそらく次を考える必要があります。

  1. コードを実行する必要がない何回?これをどうやって決めますか?
  2. アルゴリズムは、それがどのように行われたことを知っていますか?あなたはこれを達成するためにいくつかの方法を考えることができますか?

適切な論理計画が立てば、コードははるかに書きやすくなります。一般的に

、小さなタスクにまで問題を壊し、あなたは言語に関係なく、ほぼすべてのプログラミングの問題に取り組むことができるはず、など

あなたは、さらに助けが必要なら、私に教えてください。

0

DOMからデータを取得したようです。したがって、DOM操作に精通して、すべてのイメージノードをテキストノードに置き換えることができます。

参考methodes:

関連する問題