使用单个动态选择器我没有问题:
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...
知道我做错了什么吗?
最佳答案
您需要在引用的常量字符串内使用逗号。
$('#a_flag_' + answer_id + ', #a_comments_link_' + answer_id + ', #a_best_answer_' + answer_id).click(// ///
你最终想要的是一个看起来像这样的字符串
"selector, selector, selector, ..."
所以你需要用逗号连接一堆字符串。
或者,您可以在字符串数组中构建单独的选择器,然后使用逗号分隔符“.join()”它们(“.join()”的参数)。
关于javascript - jQuery 中使用变量的多个动态选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7948273/