gpt4 book ai didi

javascript - 在 jquery 中查找非兄弟 child 的下一个实例?

转载 作者:行者123 更新时间:2023-11-29 16:17:03 27 4
gpt4 key购买 nike

我有一个带有输入的表单和表单外的 div 容器,每个输入都有帮助文本。

<form>
<input id="name" />
<input id="email" />
<input id="pass" />
</form>
<div class="help-container">
<p class="help-name"></p>
<p class="help-email"></p>
<p class="help-pass"></p>
</div>

现在 .help-container 最初是隐藏的 { display: none; } 以及每个 child p.

我遇到问题的 jQuery 是:

$("form").find("input").focus(function(){
var parent = $(this).attr("id");
$(this).closest("form").next(".help-container").show();
})

1) 这是行不通的。为什么?

$("form").find("input").focus(function(){
var parent = $(this).attr("id");
$(this).closest("form").next(".help-container").show();
$(".help-container").children("p").hide();
$(".help-container").children("p").find(".help-" + parent).show();
})

2) 这不起作用。为什么?

最佳答案

这是你的问题

$("form").find("input").focus(function(){
var parent = $(this).attr("id");
$(this).closest("form").next(".help-container").show(); // you show the container
$(".help-container").children("p").hide(); // hide all p under it - nothing is shown now
$(".help-container").children("p").find(".help-" + parent).show(); // you're trying to find elements under p with class .help-xxx
})

你需要改成这样

$("form input").focus(function(){
var parent = $(this).attr("id");
$(".help-container").children("p").hide(); // hide all p's
$(".help-container").children("p.help-" + parent).show(); // show relevant p - since you want the p with the matching class
});​

http://jsfiddle.net/vjUme/

关于javascript - 在 jquery 中查找非兄弟 child 的下一个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com