簡體   English   中英

在JQuery中動態設置選擇器

[英]Settings Selector Dynamically in JQuery

我有一個表,該表的值是使用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'); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM