gpt4 book ai didi

javascript - 将 Jquery 选择器的名称设置为变量中的字符串

转载 作者:行者123 更新时间:2023-12-02 20:32:22 26 4
gpt4 key购买 nike

我对 Jquery 很菜鸟,但我正在尝试根据表单元素的名称设置一个变量。

即基于此示例的变量 =“someForm”:

<form id="hello" name="someForm" >
First name: <input type="text" name="firstname" />
Last name: <input type="text" name="lastname" />
Email: <input type="text" name="email" />
<input type="submit" value="Subscribe" />
</form>

我正在使用以下代码,但似乎不起作用:

var formName = 0;
$('input').parentsUntil('form', this).focus(function() {var formName = this.name;})
if (stTime == 0) { // This ensures someone cannot start a form multiple times
var stTime = new Date();
stDelay = stTime - loTime;
alert(formName);
}

提前致谢!

最佳答案

focus事件不会冒泡,请参阅 http://www.quirksmode.org/dom/events/blurfocus.html#t06

其他几个问题:

  1. formName分配给事件处理程序内部的变量与第一行的变量不同,因为您重新声明了它,所以它仅存在于该事件函数的范围内。
  2. parentsUntil 将返回所有祖先直到 form元素,而不是元素本身,这大概就是您想要的。

您的代码断章取义,因此很难理解 formName应该使用计时器变量以及应该在哪里声明它们,但这应该适用于事件:

$('form :input').focus(function() {
formName = $(this).parents('form').attr('name');
});

:input是一个匹配所有 <input> 的 jQuery 选择器类型,以及 <textarea><select>

关于javascript - 将 Jquery 选择器的名称设置为变量中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3881392/

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