简单的jQuery功能无法正常工作

Cur*_*tis 0 ajax jquery

基本上,我有一个Ajax调用,它根据Ajax请求返回数据:

var thisId = jQuery(this).data("id");
jQuery.ajax({
    type: "GET",
    url: pluginURL + "/****/templates/files/ajax_controller.php",
    data: "ajaxAction=AddId&id=" + thisId,
    success: function(data) {
        if(data === "success") {            
            var OldId = jQuery("input").find("[data-id='" + thisId + "']");
            if(OldId) {
                alert("Valid OldId!");
                OldId.val("Added!");
                OldId.attr('disabled', 'disabled');
            }
    }
});
Run Code Online (Sandbox Code Playgroud)

正在发生的是alert()正在执行,只是不是val()或者attr它可能是非常简单的我忽略的东西

tec*_*bar 5

我相信你有点不对劲.

var OldId = jQuery("input").find("[data-id='" + thisId + "']");
Run Code Online (Sandbox Code Playgroud)

以上查找s [data-id='" + thisId + "'] 匹配的元素<input>.

尝试将其替换为:

var OldId = jQuery("input[data-id='" + thisId + "']");
Run Code Online (Sandbox Code Playgroud)

此外,由用户指出的,你的if情况是不正确.它应该是:

if(OldId.length > 0) {
...
}
Run Code Online (Sandbox Code Playgroud)