Translate

BTemplates.com

Powered by Blogger.

2019年7月28日日曜日

2019-07-26 07-27 到達点メモ


.text()を行う際にDOM操作をする際にそもそもタグの指定が間違っていないか
確かめたい時は.html()でやると
テキストデータを取得する方法としては間違っていないが
タグの指定は間違っていないかどうかが分かる。

例えば、以下の様なテーブル構造があったとする

<table class="test_tag nononaga_tag">
  <tr>
    <th>TEST</th>
    <td><a rel="nofollow" target="_blank" href="https://www.nononagainfo.com/">https://www.nononagainfo.com/</a></td>
  </tr>
</table>
この際に、欲しいデータが、tdタグのURLアドレスだった場合、
$ ('table.test_tag').text ();
もしくは、
$ ('table.nononaga_tag').text ();
では取得できない。

この場合、正しいやり方は以下のどちらかである。
$ ('table.test_tag td').text ();
$ ('table.nononaga_tag td').text ();
*理由はよくわかっていないが、 ('table.test_tag table.nononaga_tag  td').text ();
では取得できない。何か指定方法が間違っているのかもしれない。

大体目標の作業は終わったと思う。
これで作業がグッと楽になるはず。

例えば、以下の構造があったとして
ノノナガというデータを取りたいとする。
<div class="job_type">
  <div class="programmer">
    <span class="user_name">
    ノノナガ
    </span>
  </div>
</div>

その場合は、以下のようにすればよい
$('.job_type').find('.user_name')

参考サイト:jQueryで子要素を取得する方法:children(), find()
https://uxmilk.jp/10873

jQueryとJavaScriptがごっちゃになってしまってるので気を付けないといけない
.find()はjQueryの話。

タグ内に不要な改行が入っており、且つそれがブラウザ上で反映されていないので
その表示に近づけたい場合は、以下のようにやればよい。

◆htmlでのデータ
<p>


あいうえお
</p>


◆ブラウザでの表示
あいうえお

var copyHtml = '<p>' + $ ('.aiueo').html ().replace (/\n/g, '') + '</p>';
var copyText = $ (copyHtml).text ();
console.log (copyText);

一旦HTMLデータを出力し、そこでreplaceで改行(\nのことで<br>のではない)
そのあと、タグが消えるのでhtmlに戻すためにpタグで囲んでやる

他のごみデータの削除もこれで対処できるかもしれない。

今日はここまで。

0 コメント:

コメントを投稿