2

私はいくつかのタグを持っています、ここにコードがあります

<p class="post-meta-ab"><span><a href="#">Diamond Burs set of 30 pcs A-24</a></span>

    <br /><span><i class="icon-circle"></i>Details: Diamond Burs set of 30 pcs very useful assorted shapes</span>

    <br /> <span><i class="icon-circle"></i>Shipping Weight: 100 gms</span>

    <br /><span><i class="icon-circle"></i>Price: &#8364; 2.50</span>

    <br /> <span><i class="icon-circle"></i>Quantity: <input type="text" style="width:20px" maxlength="100" name="a1" id="a1" />
                        <input type="submit" value="Add" style="margin-top:-8px" class="btn btn-danger" name="asubmit" id="a1sub" /></span>

</p>

私の質問は私が使用していることです

var productname = $(this).parent().html();

詳細を取得しますが、詳細はタグから来ています。スパンのタグ、つまり「p」タグのhtmlのタグを取得したいです。

EDIT X: 入力 type="text" 内のデータを取得したいのですが、可能ですか?

編集X2:私は今これを使用しています

    $(this).parent().parent().text()+$(this).parents('p').find('input:text').val()

それは機能する傾向があります。最後にやりたいことは、各詳細の後にスペースを入れることです。たとえば、出荷重量の後にスペースを入れたり、価格の後にスペースを入れたりします。

4

5 に答える 5

4

How to get the parent's parent

To get the parent's parent you can simply call the parent() method on the parent:

$(this).parent().parent();

Alternatively you can use jQuery's closest() method:

$(this).closest('p');

Here's a JSFiddle demo which shows both in use when initially targeting i.icon-circle.

To get the text, you can then simply call jQuery's text() method:

$(this).closest('p').text();

How to get the text input's value

As per an edit to the question, to pull the value of the text input you can either use:

$(this).closest('p').find('input[type="text"]').val();

Or, as the input has an id of "a1" (which is always unique), you can just use:

$('#a1').val();

How to put a space between the values

As per a further edit to the question, to put a space between the result you'd simply add it in using ... + " " + ..., like so:

...closest('p').text() + " " + $(this).closest('p')...
于 2013-10-08T08:19:43.960 に答える
1

親が誰であるかどうかを知るには、 $(this)が何であるかを伝える必要がありました。ここでは、編集フィールドの値を取得するコードを実行しませんでした。

alert($(".post-meta-ab").find("#a1").attr("value"));

http://fiddle.jshell.net/hYhT6/

編集 これで、&(this) が誰であるかがわかりました... :-) 最初はあなたのように親ではなく、兄弟姉妹と一緒に行きます。この場合、親を使用する場合は、トラバースを行う必要があるため、現在の場所から直接トラバースしないでください。

もう1つの編集 解決策は受け入れられましたが、それでもここに私の最後の見解があります。prev() メソッドの方が便利です。このような:

$("#a1sub").click(function() {
   alert($(this).prev().attr("value"));
})

そして、更新された作業フィドル

于 2013-10-08T08:43:54.640 に答える
1

使ってみて$(this).parent().parent().text();

于 2013-10-08T08:24:43.093 に答える
1

.closest()を含む html が必要な場合は、 .outerHTMLと一緒に使用できます。<p>...</p>

$(this).closest('p')[0].outerHTML
于 2013-10-08T08:21:52.470 に答える