我有一个表,它的值是用PHP动态生成的,包括id和name属性(例如id="question_".
如何设置元素属性?例如,我有一个div,它的文本在ajax调用成功后会改变,但是它的id是动态的。
我尝试了以下测试函数,并在onclick事件上调用它:
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#div').html('test');
}
但这不起作用。如何使变量'div'的值选择器?
你的例子的问题是,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
参数是目标url,在请求中编码的可选数据属性,然后是回调函数。
您将div定义为变量,然后将其用作字符串,请尝试将其连接起来
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#'+ div).html('test');
}
或者像这样缩短
function approve(question_id)
{
$('#suggestion_status_' + question_id).html('test');
}
$('#suggestion_status_' + question_id).html('test');
$('#suggestion_status_' + question_id)
我想你想要这个:
function approve(question_id)
{
var div = 'suggestion_status_' + question_id;
$('#'+div).html('test');
}
this. $('#suggestion_status_' + question_id).html('test');