2009-04-14 9 views
0

私が作成したjavascript検索でウェブサイトの本体を実行しようとしています。単語間にスペースがないことを除いて、うまく動作します。このxcaseのhtmlは画像が表示されない/表示されません。どんな解決策ですか?JavascriptでHTMLを実行する

したがって、私は画像を表示するのに役立つ必要があります。その後、ブラウザに表示されるテキストをスペースで取得します。

これはすべてsrctxt変数にあります。どちらが問題だと思いますか?

私はJavascriptに関するかなり基本的な知識しか持っていません。

<body> 
    <script type = "text/javascript"> 
     var keyword; 
     var srctxt; 
     var srctxtarray; 

     keyword = "archery"; 
     srctxt = "hellow blah blah blah archery <img src =\"megan_fox.jpg\">hello test archery"; 

     srctxtarray= srctxt.split(" "); 
     for (var i=0;i<srctxtarray.length;i++){ 
      if(srctxtarray[i] != keyword){ 
       document.write(srctxtarray[i]); 
      } 
      else{ 
       document.write("<b class=\"red\">"); 
       document.write(srctxtarray[i]); 
       document.write("</b>"); 
      } 
     } 
    </script> 
</body> 

答えて

2

あなたの質問を編集し、あなたが何を求めているかを確認してください。イメージを表示しようとしていますか? DOMからテキストを取得する際に問題はありますか?どのようにDOMからテキストを取得していますか?

あなたがdocument.writeを使用していることは、私がバットからすぐに見ることができる最大の問題です。 innerHtmlを使用して、DOMテキストと要素を設定する必要があります。

+0

を示唆したものを使用することをお勧めします。また、テキストの取得に問題はありません。 html本文全体がsrctxt変数に書き込まれます。 –

+0

imgを表示するには、これらを追加するDOMオブジェクトのinnerHTMLプロパティを使用する必要があります。 –

+0

@Jin:この答えを捨てて、テキスト変数にテキストを格納し、body.innerHTMLを最後のテキストに設定するとよいでしょう。このようにして、ブラウザはタグをレンダリングします。サイドノートでは、スプリットがそれらを取り除くので、スペースをページに戻す必要があります。 – regex

1

スペースを出力していません。スペースを取り除いてsrctxt.splitを作成し、それを元に戻すことは決してしません。

+0

ありがとう、私はこれに気付かなかったので、これは助けてくれました。どのように私がスペースに入ることができるかに関する任意のアイデア? –

+0

if ... elseの後にdocument.write( "")? – rvarcher

0

文字列を ""(スペース)で分割していますが、スペースを書き戻しません。

のdocument.write後(srctxtarray [i])とあなたは問題があなたが(スプリットを使用して)スペースを削除すると、あなたが書いたときにあなたがそれらをバック入れていないということです

document.write(" "); 
0

を追加する必要があります言葉。 imgsrcの間のスペースが削除され、タグは<imgsrcのように見えるので、画像は表示されません。スペースを入れて

は、使用:

document.write(srctxtarray[i] + " "); // will add spaces 

しかし、私は強くあなたは、私が示すことtehの画像を取得しようとしていますはいニックBERARDIが

+0

提案に感謝しますが、すべての単語ではなくアーチェリーの後に空白が追加されます。 –

+0

"if"部分だけでなく、両方の条件( "if"と "else"部分)でその行を使用します。 – Aziz

関連する問題