0

これはtdタグなどを取得します

<script type=”text/javascript”&gt;

var td = document.getElementsByTagName(“td”);
for (var i = 0; i < td.length; i++) {
    document.write(‘td #’ + i + ‘&lt;br />’);
}

</script>

特定のテキストを取得するためにそれと同等のものを作成するにはどうすればよいですか

たとえば、私が持っている場合

hello world
by world
hello goodbye
yellow submarine
yo hello

そのすべてのテキストで「こんにちは」を取得するにはどうすればよいですか

4

4 に答える 4

3

jQueryのcontainsセレクターを使用すると役立つはずです。

http://jsfiddle.net/akxWF/1/

JS

$('body').find('*:contains("hello")').each(function(){
    var h = $(this).html(); 
    //alert(h); 
    h = h.replace('hello', '<span class="highlight">hello</span>');
    $(this).html(h); 
}); ​

HTML

<table>
    <tr>
        <td>hello some more text</td><td>test</td>   
    </tr>
</table>
<div>hello testing<div>More data</div></div>
<span>hello</span>

CSS

.highlight{
 background-color:yellow;    
}​
于 2012-05-12T03:48:44.200 に答える
1

すべての「hello」をspanタグでラップし、クラス「hello」を付けます

<span class="hello">hello</span> world
by world
<span class="hello">hello</span> goodbye
yellow submarine
yo hello

jqueryの使用

var allHello = $('.hello').text();

他の方法は正規表現を使用することですが、コンテンツを知っている場合は必要ありません。

于 2012-05-12T03:46:21.277 に答える
0

画面スクレイピングの一般的な方法は、キャプチャまたは検索する必要のあるテキストをID付きのDIVタグ内に配置することです。これが完了すると、DIVタグのIDのgetElementsByTagNameを実行して、テキスト全体を取得できるようになります。

これが明確であることを願っています。これがあなたが探しているものではない場合は、より具体的な質問を追加することをお勧めします。

于 2012-05-12T03:40:42.250 に答える
0

そのすべてのテキストで「こんにちは」を取得するにはどうすればよいですか

質問があるかどうかはわかりませんが、「こんにちは」を取得するには、次のようにすることができます。

var td = document.getElementsByTagName('td')[0],
    td = (td.textContent || td.innerText || ""),
    hello = td.match(/hello/gi);

これにより、すべての「hello」を含む通常のjavascript配列が返されますか?

フィドル </p>

于 2012-05-12T05:02:20.977 に答える