わかりました、皆さん、私は昨日丸一日グーグルでさまざまな解決策を試してみましたが、何もうまくいきませんでした. 内部にさまざまなものを含む、動的に生成された折りたたみ可能な div があります。私の問題はul
、折り畳み式の中にあるテキストで発生しています。私の構造の例は次のとおりです。
<ul id="list-0">
<li>
<div id="div-00" class=".item">
<span id="item-00">Item</span>
<select id="slide-00" data-role="slider" data-mini="true">
<option value="on">Need</option>
<option value="off">Done</option>
</select>
</div>
</li>
<li>
<div id="div-01" class=".item">
<span id="item-01">Item</span>
<select id="slide-01" data-role="slider" data-mini="true">
<option value="on">Need</option>
<option value="off">Done</option>
</select>
</div>
</li>
</ul>
スパン内のテキストを変更しようとしています。それは単純なことで簡単に行うことができます
$("#item-00").text("whatevertext");
...そしてそれは機能します。しかし、次のスパンのテキストを変更しようとすると、そのテキストは以前にクリックしたスパンに適用されます....なぜそれが起こるのですか?? スパンを「バナナ」に変更した後でid="#item-01"
スパンのテキストを「りんご」に変更すると、両方のスパンが「りんご」に変更されます。これは私には意味がありません。私が試したことは何もありません。私のコードがもっと必要な場合は、お知らせください。 id="#item-00"
$(document).on('click', '.item', function () {
var div = $(this).attr("id");
var split = div.split("-");
...more codings.... involving the opening of a popup to let user type in span text in input of id="thisothername"
var name = $("#thisothername").attr("value");
$("#" + "item" + "-" + split[1]).text(name);
});
現在、これを使用して入力からテキストを取得し、選択した li > div > span に適用しています .... split[1] は、親 div id 別名 00 または 01 の解析された数値を含む配列インデックスです。次に、子スパンのIDを呼び出すために使用され、理論的にはそのIDのテキストのみを変更します。