リンクをその innerHTML に置き換えたいのですが、どうすればよいですか?
例:
Bla bla bla <a href="#nogo">No link here</a> bla bla bla
なる必要があります
Bla bla bla No link here bla bla bla
ノードをそのinnerHTMLに置き換えようとしましたが、ノード自体のテキストを取得できません..
正規表現を使用する必要があると思いますが、方法がわかりません。
編集: 迅速な回答をありがとうございました! 私はまだそれを正しく理解できないようです。さらに多くのことが起こっているようです。
プロトタイプjsも使用しています。
リンクを含む可能性のあるテキストを取得しました。テキストにリンクが含まれている場合は、そのリンクを innerHTML に置き換える必要があります。次のようになります。
<td id="text">This is some text <a href="/link/Go_%28To%29" title="Go (to)">goto</a>. Some more text.</td>
テキストにリンクが含まれているかどうかを確認するために hasChildNodes() を使用しようとしましたが、テキストにリンクやその他の要素が含まれていない場合でも、常に yes が返されます。そこで、テキストもノードとみなされるのではないかと思い、childElements[1] を試してみました。それは undefined を返します。したがって、リンクはテキストノードのノードである可能性があります。何もない!私はこのデータをスクレイピングし、JSON を評価しているので、そこから奇妙さが生じる可能性があります。ただし、応答の残りの部分で DOM をウォークすることはうまくいきます。
しかし、私が警告するとき
$('text').childElements()[0]
実際のhrefはアラートを受け取ります! (localhost//link/Go_%28To%29)
$('text'.childElements()[0].up() は、実際の td 親要素に到達します。
だから私は使用しています
if($('text').childElements()[0])
テキストにリンクが含まれているかどうかを確認します。
これは少し話題から外れていると思いますが、実際には a 要素を正しく取得できません。任意のヒント?多分正規表現が最良の選択肢ですか?