您好我正在尝试的东西..我正在阅读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生成它们..现在你看到p部分它说DKK ..现在为了我不要手动编写所有内容我想要每个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并且它包含在追加函数中, - 添加它,这段代码不起作用,但是如果我把

$(this).parents("div.entry").append(element_value + ",-");

instead of

$(this).closest("p").append(element_value + ",-");

出现了正确的结果但不完全符合我的要求..希望有人可以帮助我,谢谢

有帮助吗?

解决方案

如果您阅读的是最近的()文档,您会看到它只向上看,而不是侧向:

  

获取一组元素,其中包含与指定选择器匹配的最接近的父元素,包括起始元素。

你可以这样做,从输入中找到以前的&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 + ",-");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top