我有一个表,其值是用PHP动态生成的,包括id和name属性(例如id =“question _”。
如何设置元素属性?例如,我有一个div,其文本将在成功的ajax调用后更改,但id是动态的。
我尝试过制作以下测试功能,并在onclick事件中调用它:
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#div').html('test');
}
但这不起作用。如何使变量'div'的值成为选择器?
答案 0 :(得分:2)
您的示例的问题是div
是变量,而不是字符串;所以以下内容将起作用:
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#' + div).html('test');
}
甚至:
function approve(question_id)
{
$('#suggestion_status_' + question_id).html('test');
}
另一种方法是利用类,并为元素添加已知类。在没有看到完整的HTML的情况下,我无法提供完整的示例,但某些就是这样的方式:
$('.yourCommonClass').bind('click', function () {
var that = this;
jQuery.get('/accept.php', {
id: this.id
}, function (msg) {
$(that).html('Accepted!');
});
});
请记住,jQuery.get
参数是目标网址,在请求中编码的可选数据属性,然后是回调函数。
答案 1 :(得分:1)
您将div定义为变量然后将其用作字符串尝试连接它而不是
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#'+ div).html('test');
}
或像这样缩短
function approve(question_id)
{
$('#suggestion_status_' + question_id).html('test');
}
答案 2 :(得分:0)
$('#suggestion_status_' + question_id).html('test');
答案 3 :(得分:0)
$('#suggestion_status_' + question_id)
答案 4 :(得分:0)
我想你想要这个:
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#'+div).html('test');
}
答案 5 :(得分:0)
this. $('#suggestion_status_' + question_id).html('test');