0
divを更新する際に、属性値が変数であるクラス名とデータ属性を選択しようとしています。 (同様の質問への)他のSOの答えは、このアプローチを提案した:クラスとデータ属性でdivを更新する方法
$(".SampleClass [id='"+selectedId + "']").text("Updated text");
それをテストする場合、しかし、動作するように表示されません。 2番目のdivの内容に「この特定のdivが更新されました」と表示される必要があります。代わりにdivには "Div 2 is unchanged"が含まれています。
希望する結果を得るにはどのようなアプローチをとるべきですか?この例は単純なHTMLですが、私はこれを動的なページに適用しようとしています。そのため、私はそれをハードコーディングしていません。
<div class="SampleClass" data-id="1">Div 1 is unchanged</div>
<div class="SampleClass" data-id="2">Div 2 is unchanged</div>
<div class="SampleClass" data-id="3">Div 3 is unchanged</div>
<script type="text/javascript" src="Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function() {
// test basic functionality: div with data-id=2 should be updated
var selectedId = 2;
$(".SampleClass [id="+selectedId + "]").text("This specific div has been updated.");
});
</script>
これは、問題を解決しました。 #2ははっきりと働いていますが、私が見た過去のサンプルはすべて「データ」部分を省いています。 – RandomHandle
はデータを省略しましたか?これについてあなたは何を参照していますか? data-id属性はありません。希望する属性を選択しないため、その属性を削除することはできません。 – guradio
多分、単に.SampleClass [id = "+ selectedId +"] 'を意味しますか? – Rick