具有复合名称的jQuery访问对象属性

时间:2016-04-28 17:16:10

标签: javascript jquery

我试图在动态生成的页面元素上访问jQuery的.text()方法,这意味着id的格式为bBtn_123,其中的整数是下划线代表一个独特的ID。所以,我希望能够在我的Ajax调用的成功回调(不知道,我知道)中调用bBtn_123(或者不管id是什么)。以下是我尝试访问它的方法:

('#bBtn_' + spId).text()

我确定有某种方法可以做到这一点,但我在此收到类型错误,向我报告.text()不是函数。

以下是我的其余功能:

$(document).on('click', '[id^="bBtn_"]', function() {
var spId = $(this).attr('id').split('_')[1];
$.ajax({
    url: '/bookmark/' + spId,
    type: 'GET',
    success: function(response) {
        if (('#bBtn_' + spId).text() == "Bookmark") {
            (('#bBtn_' + spId).text("Bookmarked!"))
        }
    },
    error: function(error) {
    console.log(error);
}
});
});

编辑:为标题道歉,如果它不是特别好,我不确定该怎么做。

4 个答案:

答案 0 :(得分:1)

您错过了$$('#bBtn_' + spId).text()

答案 1 :(得分:1)

你忘记了$符号。

$('#bBtn_'+ spId).text()

答案 2 :(得分:1)

您缺少$符号。应该是这样的:

$('#bBtn_' + spId).text();

答案 3 :(得分:0)

更改这些行:

if (('#bBtn_' + spId).text() == "Bookmark") {
    (('#bBtn_' + spId).text("Bookmarked!"))
}

人:

var id = '#bBtn_' + spId;
if($(id).text() === "Bookmark") {
    $(id).text("Bookmarked!");
}