JQuery divにアクセスする方法< p>タグを付けて追加する
質問
こんにちは私は何かしようとしている..私はいくつかのフォーラムでドキュメントを横断するJqueryを読んでいた、このウェブサイトは以前このトピックに関連する質問をしていました。 >
<div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
</div>
だから、whileループを使用してこれらの束を作成したので、それらを手動でコピーして貼り付ける必要はありません。aspがそれらを生成します。すべてを手動で記述するのではなく、すべてのdiv、pにそのdiv内の入力の値を追加したいのですが、ここにJqueryで行ったことを示します
$(document).ready(function() {
$("input").each(function () {
var element_value = $(this).val();
$(this).closest("p").append(element_value + ",-");
});
});
だから私がしようとしたことは、各入力をトラフしてその値を収集し、最も近いpタグを見つけてその値を追加することです。上の例の正しい結果は
<p>DKK 75,-<p>
入力値は75で、append関数に含まれているため、このコードも機能しませんが、追加すると
$(this).parents("div.entry").append(element_value + ",-");
instead of
$(this).closest("p").append(element_value + ",-");
正しい結果が表示されますが、希望する場所ではありません。誰かが私を助けてくれることを願っています、ありがとうございました
解決
closest()のドキュメントを読むと、横向きではなく上向きにしか見えません:
指定されたセレクタに一致する最も近い親要素を含む要素のセットを取得します。開始要素が含まれます。
これにより、入力から以前の&lt; p&gt;
を見つけることができます。
$(this).prev("p").append(element_value + ",-");
またはより明示的に:
$(this).closest("div.entry").find("p").append(element_value + ",-");
入力がたまたま&lt; p&gt;
のどちら側に依存しないか。
他のヒント
これを試してください:
$(this).parents("div.entry").find('p:first').append(element_value + ",-");
所属していません StackOverflow