无法从ajax加载嵌入元素

时间:2016-02-15 13:18:28

标签: jquery ajax

我是jquery ajax的新手,我尽力用ajax解决我的问题。基本上,我正在加载外部json数据以设置为链接或按钮来执行某些操作。但是,在ajax加载后,它会禁用其他jquery函数。目前,我正在测试简单的操作,但稍后,操作将是ajax加载。

在互联网上搜索关于Ajax之后,我需要使用jquery'当'对于多个ajax,我需要使用jquery' delegate'。这是我的情况下的洗脱吗?

这很简单,我的工作

HTML和js



$.ajax({
    url: "../JsonObj/mnb.json",
    dataType: "json",
    success: function (data)
    {
        for (var i = 0; i < data.nav_buttons.nav_button.length  ; i++)
        {
            if (i > 0 && i < data.nav_buttons.nav_button.length)
            {
                $("nav").append("<h1>" + "|" + "</h1>");
            }
            $("nav").append("<a href='" + data.nav_buttons.nav_button[i].url + "'>" + "<h1 id='citvnmb"
                + i + "' class='citvnmbcls'>" + data.nav_buttons.nav_button[i].name + "</h1>" + "</a>");
        }
    },
    error: function ()
    {
        alert("unbale to load main nav buttons ");
    }
});

$("#citvnmb0").click(function () {

    alert("test");

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

    <nav>
        

        
    </nav>
&#13;
&#13;
&#13;

mnb.json

{
"nav_buttons": {
    "nav_button": [

        { "name": "Kitchen",      "url": "#"  },
        { "name": "Home",         "url": "#"  },

    ]
}}

2 个答案:

答案 0 :(得分:2)

动态创建元素时,必须使用on()访问元素:

$(document).on("click","#citvnmb0" , function () {
    alert("test");
});

答案 1 :(得分:0)

我想确保你的json数据准确无误。 我有2个解决方案

  1. 在标签
  2. 中设置属性onclick
  3. 在点击jquery上使用动态

    $(“#citvnmb0”)。on(“click”,function(){ 警报( “测试”); });