JQuery 如何访问div

标记并附加它

发布于 2024-08-04 20:18:23 字数 1063 浏览 5 评论 0原文

你好,我正在尝试一些东西..我正在阅读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 + ",-");

正确的结果会出现,但不完全是我的位置想要它们..希望有人可以帮助我,谢谢

Hello I'm trying something .. I was reading Jquery traversing documentations some forums, this websites previously asked questions relating this topic .. none actually answers my question so I'll ask instead .. here is the deal

  <div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />

</div>

So I've used a while loop to create bunch of these so I don't have to manually copy paste them.. asp generates them .. now you see the p section it says DKK .. now in order for me not to write everything manually I'd like every divs , p to append with the value of input inside that div , now here is what I did with Jquery

$(document).ready(function() {
     $("input").each(function () {
                 var element_value = $(this).val();
                 $(this).closest("p").append(element_value + ",-");
                  }); 
 }); 

So what I tried to do is to go trough each input and collect their value, then find closest p tag and append it with its value, now the correct result for this example above would be

<p>DKK 75,-<p>

because input value is 75 and it has included in append function ,- add that as well, this code is not working, however if I put

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

instead of

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

The correct results appear but not exactly where I want them .. hopefully someone can help me, thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

-黛色若梦 2024-08-11 20:18:23

如果您阅读closest()的文档,您会发现它只向上看,而不是向侧面看:

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

您可以执行此操作以从输入中查找先前的

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

或者更明确:

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

这将不依赖于

的哪一侧输入恰好打开。

If you read the documentation for closest() you will see it only looks upwards, not sideways:

Get a set of elements containing the closest parent element that matches the specified selector, the starting element included.

You could do this to find the previous <p> from the input:

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

Or a more explicit:

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

Which would then not depend on which side of the <p> the input happens to be on.

潜移默化 2024-08-11 20:18:23

试试这个:

$(this).parents("div.entry").find('p:first').append(element_value + ",-");

Try this:

$(this).parents("div.entry").find('p:first').append(element_value + ",-");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文