使用ajax的网页,当有事件触发网页中的js函数时,js函数会从web服务器上取得新的html,然后使用新的html更新当前网页。请问,如何在js里面获取,原来不存在的,网页更新之后才存在的元素?

解决方案 »

  1.   

    比如你要局部更新某个div的innerHTML,
    你要设置document.getElementById(div的id).innerHTML = 你获取的html在这句之后你就可以获取到原来不存在的,网页更新之后才存在的元素
      

  2.   

    比如我要给一个,原来不存在的,更新之后才出现的元素注册onclick事件,应该怎么做呢?(假设事先知道它的id,或者不知道它的id)
      

  3.   

    比如在gmail里面,右键点击邮件标题和左键点击邮件标题,前者可以触发onclick事件,后者不行
      

  4.   

    比如说
    document.getElementById(div的id).innerHTML = "<a id='a_test' href='#'></a>";
    然后
    document.getElementById("a_test").onclick=function(){alert();};
      

  5.   

    把JS代码写进ajax 返回数据的值里面。
    function ajax(参数) {
      var HttPRequest = false;
      if (window.XMLHttpRequest) {
     HttPRequest = new XMLHttpRequest();
     if (HttPRequest.overrideMimeType) {
    HttPRequest.overrideMimeType('text/html');
     }
      } else if (window.ActiveXObject) {
     try {
    HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
    try {
       HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
     }
      } 
      if (!HttPRequest) {
     alert('Cannot create XMLHTTP instance');
     return false;
      }
    var url = 页面地址;
    var pmeters = 传递参数;
    HttPRequest.open('POST',url,true);
    HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    HttPRequest.send(pmeters);
    HttPRequest.onreadystatechange = function()
    {
    if(HttPRequest.readyState == 4) 
      {
       document.getElementById("ajax返回的ID").innerHTML = HttPRequest.responseText;
                 alert(document.getElementById(ajax页面的ID).innerHTML);
                   }
            }
    }