无法应用jquery

时间:2015-07-20 15:15:09

标签: javascript jquery ajax

我有一个页面 searchKB.jsp ,它有一些像这样的代码:

$.ajax({
    type: "GET",
    data: {app:app,env:env,ptitle:ptitle,kbaseId:kbaseId},
    url : 'jsp/knowledgeBase/kbResults.jsp',
    success: function(res){
        getResponse(res);
    },
    error: function(){
        document.getElementById("message").style.display="";
        $('#message').html("<b><font color=red face=Arial size=2>An Error encountered while processing your Request.Please try again after sometime.</font></b>");
    }
});
function getResponse(response){
    document.getElementById("message").style.display="none";
    document.getElementById("KBInfo").innerHTML = response;
}

searchKB.jsp通过以上代码调用 kbResults.jsp ,现在我想对 {{1}的元素应用 jquery } ..我会这样做吗?

我尝试了一切,但它失败了

kbResults.jsp

和相应的jquery代码

<input type="button" id="expand3" value="Hide"/> <div id="result3">hide this</div>

2 个答案:

答案 0 :(得分:4)

尝试使用类似的东西。

$(document.body).on("click", "#expand3", function(){
    $("#result3").hide();
});

答案 1 :(得分:2)

假设ID为expand3result3的元素来自该AJAX调用,您可以执行以下操作:

$.ajax({
    type: "GET",
    data: {app:app,env:env,ptitle:ptitle,kbaseId:kbaseId},
    url : 'jsp/knowledgeBase/kbResults.jsp',
    success: function(res){
        getResponse(res);
    } // removed the error callback for clarity
});
function getResponse(response){
    $("#message").hide();
    $("#KBInfo").html(response);

    // only then attach the listener
    // because #expand3 needs to be in the DOM
    $("#expand3").click(function(){
        $("#result3").hide();
    });
}

或者,您可以将@ ashokd的解决方案与委派的侦听器一起使用。