回答編集履歴

1 追記:最初のセレクタで絞る

sk_3122

sk_3122 score 998

2017/02/09 13:16  投稿

まず、以下のように txt を alert で表示してみると、空だと思います。
```javascript
$('.hoge img').each(function(){
   var txt = $(this).html();
   alert(txt);
});
```
img の src を取りたいのですよね。
$xxx.html() はたとえば
```html
<div>あいうえお</div>
```
の場合の "あいうえお" 部分を取るものなので、src を取りたい場合は別のものを使います。
----
```javascript
$('.hoge img').each(function(){
   var $img = $(this);         // img自身
   var src = $img.attr("src"); // imgのsrc
   alert(src);                 // 確認
});
```
```
----
追記:末尾が 2 のものだけ処理したい、というのであれば
最初のセレクタの時点で絞ってしまっても良いかもしれませんね。
```javascript
$('.hoge img[src$="2.png"]').each(function(){
   var $img = $(this);         // img自身
   var src = $img.attr("src"); // imgのsrc
   alert(src);                 // 確認
});
```
```html
<div class="hoge"><img src="/XXXXXXXX1.jpg"></div>
<div class="hoge"><img src="/XXXXXXXX2.jpg"></div>
<div class="hoge"><img src="/XXXXXXXX3.jpg"></div>
<div class="hoge"><img src="/XXXXXXXX12.jpg"></div>
```
ただちょっと思ったのですが、末尾が 12 の場合なども 13 になってしまうと思いますが、それは良いのでしょうか。
(あらかじめ そんなに連番はないことが分かっているのですかね?なら平気ですけど)

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る