<table class="rnk1item"> <tbody> <tr> <th> <img src="./img/rank1_a.gif"> </th> <td class="timg"><img src="<% pageDepth %>img/sample.jpg" alt="" /></td> <td> <div class="ttitle"><a href="https://example.com/" target="_blank">商品名</a></div> <div class="tdesc">ここに説明文を入力ここに説明文を入力ここに説明文を入力ここに説明文を入力ここに説明文を入力</div></td> </tr> </tbody> </table>
書き換えしたい箇所↓
<img src="./img/rank○_a.gif">
rank○の部分には1~30が入ります。
上記のコードがあった場合、jqueryで
<div class="rank○"></div>
に書き換えるにはjQeryでどのように記述したらよいでしょうか。
よろしくお願い致します。
試した方法
$(function() { $('.rnk1item th').each(function(){ var txt = $(this).html(); $(this).html( txt.replace('<img src="./img/','<div class="') ); }); }); $(function() { $('.rnk1item th').each(function(){ var txt = $(this).html(); $(this).html( txt.replace('_a.gif">','"></div>') ); }); });
上記の方法でも大丈夫なのですが、もう少し短いと言うか、シンプルな方法はありますでしょうか?
$(function() { で別にわけて入れなくてもいいとは思いますが、そういうことじゃないですよね;
thの中にあるというのは全て共通ですか?
そういえば1~30は「確実に上から順番に並んでいる」のでしょうか?
#logo { color: #444; } #logo { vertical-align: middle; } ↓ #logo { color: #444; vertical-align: middle; } CSSで言えば上記のようにfunction()をまとめらると言うことでしょうか?thの中にあるというのは全て共通です。
いえ違います。$(function() { を2回書く必要がないということです。基本的には「ドキュメント(HTML)読み込み後に」という意味しか持っていないので。
tbody要素の開始タグに対する終了タグがありません. HTMLの修正をお願いいたします.
ありがとうございます。修正しました。
(と言った手前, HTML仕様をみた処, tbodyの閉じタグは必須ではないようでした. ああ, 固定概念が崩れてゆく・・・)
回答4件
あなたの回答
tips
プレビュー