jQuery 中使用变量的多个动态选择器
使用单个动态选择器我没有问题:
var answer_id = <?php echo $answer_id; ?>;
$('#a_flag_' + answer_id).click(function(e) {
e.preventDefault();
//Ajax etc...
但是如果我添加几个动态选择器,它们就不起作用(即 Firebug 控制台上没有错误,但单击时也没有任何操作):
var answer_id = <?php echo $answer_id; ?>;
$('#a_flag_' + answer_id,'#a_comments_link_' + answer_id,'#a_best_answer_' + answer_id).click(function(e) {
e.preventDefault();
//Ajax etc...
知道我做错了什么吗?
Using a single dynamic selector I have no problems:
var answer_id = <?php echo $answer_id; ?>;
$('#a_flag_' + answer_id).click(function(e) {
e.preventDefault();
//Ajax etc...
But if I add several dynamic selectors they do not work (ie, no errors on Firebug console, but also no action when clicked):
var answer_id = <?php echo $answer_id; ?>;
$('#a_flag_' + answer_id,'#a_comments_link_' + answer_id,'#a_best_answer_' + answer_id).click(function(e) {
e.preventDefault();
//Ajax etc...
Any ideas what I am doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要在带引号的常量字符串内使用逗号。
您最终想要得到的是一个看起来像这样的字符串,
因此您需要用逗号连接一堆字符串。
或者,您可以在字符串数组中构建单独的选择器,然后使用逗号分隔符(“.join()”的参数)“.join()”它们。
You need the commas inside the quoted constant strings.
What you want to end up with is a string that looks like
so you need to concatenate a bunch of strings with commas.
Alternatively, you could build up your separate selectors in an array of strings and then ".join()" them with a comma separator (the parameter to ".join()").
您应该将逗号放在字符串内部而不是外部,并且您忘记了加号。
You should put the coma inside the string not outside and you have forgotten the plus.
当它开始看起来太复杂时,它很可能就是这样。
FWIW:
快乐编码。
When it starts to look too complicated, it likely is.
FWIW:
Happy coding.