1

jQuery を使用して、それが存在する div のクラスに基づいて段落テキストを変更しようとしています。

配列内の各クラス名で、それぞれの div 内の p テキストを置き換えたいと考えています。現在、p テキストの最後の div のクラス名を取得しています。

<div class="ph player">PHILIPPINES<p class="topic">Test topic</p></div>
<div class="sl player">SOLOMON ISLANDS<p class="topic">Test topic</p></div>
<div class="fi player">FIJI<p class="topic">Test topic</p></div>
<div class="sm player">SAMOA<p class="topic">Test topic</p></div>

<script>
var divArr = ["ph", "sl", "fi", "sm"];
$.each(divArr, function(index, value) {
   $(".topic").text(this);
});
</script>

ご覧いただきありがとうございます。まったくの初心者です。

4

4 に答える 4

3

あなたが欲しいのは次のとおりだと思います:

$.each(divArr,function(i,val) {
  $('.'+val+' p.topic').text(val);
});

これにより、各 div の段落テキストが 2 文字のクラス名と等しくなります

于 2012-06-23T00:35:00.673 に答える
1

.topic適切なnot allを見つける必要があります.topic

var divArr = ["ph", "sl", "fi", "sm"];
$.each(divArr, function(index, value) {
   $('.' + value).find(".topic").text(this);
});
于 2012-06-23T00:32:29.027 に答える
1

変更したい div のみを選択していることを確認してください。

var divArr = ["ph", "sl", "fi", "sm"];
$.each(divArr, function(index, value) {
   $("div." + value + " .topic").text(value);
});
于 2012-06-23T00:32:37.733 に答える
0
$.each(divArr, function (i,e) { 
    $("."+this).find("p.topic").text(this);
});

重要なのは、セレクターを正しく使用することです。

" this" は値 "ph"、"sl" を取ります...

したがって"."+this、JQuery/CSS 構文 (.ph、.sl ...) でクラスを識別します。

$("."+this)したがって、正しい を選択します。ここで、クラスでタグをdiv細かくし、テキスト (再び) を置き換えます。p.topicthis

于 2012-06-23T00:33:22.603 に答える