gpt4 book ai didi

jquery - Zend 框架表单和 jQuery 选择器 - 如何通过... ID 选择?

转载 作者:行者123 更新时间:2023-12-01 08:28:23 25 4
gpt4 key购买 nike

所以我遇到了由 Zend Framework 生成的表单的问题。

据我们所知,Zend 使用这种格式作为 HTML 元素的 ID,即:contactDetails[name]contactDetails[email] 等。

首先,为什么 Zend 使用无效 HTML 来生成表单?根据W3C,id 内不应有括号 [] :

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

但是我真正的问题是如果我们必须处理无效的Zend生成的id,如何使用jQuery通过id正确选择元素

在标准 JavaScript 中,这似乎有效:document.getElementById('contactDetails[email]')

但是在 jQuery 中:$('#contactDetails[email]') - 这显然是错误的,因为括号是为属性选择器保留的。

我发现的简单解决方法是将 native-js-selected 对象包装在 $() 函数中:$(document.getElementById('contactDetails[email]'))。使用此方法,我可以在该对象上使用所有 jQuery 函数,但这似乎是一个 hacky 解决方案...?

最佳答案

尝试转义方括号:

$("#contactDetails\\[email\\]");

jQuery 期望这些包含属性过滤器表达式。向下滚动到此链接的末尾:

http://docs.jquery.com/Selectors

从上面可以看出:

The full list of characters that need to be escaped: #;&,.+*~':"!^$=>|/

关于jquery - Zend 框架表单和 jQuery 选择器 - 如何通过... ID 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1796479/

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