Javascript JS中的动态表

Javascript JS中的动态表,javascript,dynamic,onclick,Javascript,Dynamic,Onclick,这是我的代码片段 if (xmlhttp.readyState==4 && xmlhttp.status==200) { s=xmlhttp.responseText; info=s.split("!"); elem=document.getElementById("add_players1"); for (var i = 0 ;i < (info.length-1);i++ )

这是我的代码片段

    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {   
        s=xmlhttp.responseText;
        info=s.split("!");
        elem=document.getElementById("add_players1");
        for (var i = 0 ;i < (info.length-1);i++ ) 
        {
        var row=elem.insertRow(-1); //here is where I need to call a function when I click on the element
        var x=row.insertCell(-1);
        var y=row.insertCell(-1);
        var z=row.insertCell(-1);
        temp=info[i].split(",");
        name=temp[0];
        val=temp[1];
        pos=temp[2];
        x.innerHTML=name;
        y.innerHTML=val;
        z.innerHTML=pos;

    }
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{   
s=xmlhttp.responseText;
信息=s.split(“!”);
elem=document.getElementById(“添加播放器1”);
对于(变量i=0;i<(信息长度-1);i++)
{
var row=elem.insertRow(-1);//这里是我单击元素时需要调用函数的地方
var x=行插入单元格(-1);
变量y=行插入单元格(-1);
var z=行插入单元格(-1);
temp=info[i]。拆分(“,”;
name=temp[0];
val=温度[1];
pos=温度[2];
x、 innerHTML=名称;
y、 innerHTML=val;
z、 innerHTML=pos;
}

基本上,我所做的是从我的PHP文件中接收一些数据并动态创建一个表,但我想要的是,当我单击表中的单个元素时,一个函数将运行。我被困在这里,因为我已经动态创建了一个表,因此不知道如何进行函数调用…敬请告知

您可以将事件附加到使用onclick属性在javascript中创建元素 在要素上,

var myfunction = function()
{
    alert("row clicked, id "+ this.id+", text"+this.innerHTML);
}

function addRow(){
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {   
        s=xmlhttp.responseText;
        info=s.split("!");
        elem=document.getElementById("add_players1");
        for (var i = 0 ;i < (info.length-1);i++ ) 
        {
        var row=elem.insertRow(-1); 
        row.onclick = myfunction;
        temp=info[i].split(",");
        for (j = 0; j < 3; i++) {
               appendDiv(row.insertCell(j), temp[j] , 'divStyle');
        }
    }
}

function appendDiv(cell, text, style) {
    var div = document.createElement('div'), 
        txt = document.createTextNode(text); 
    div.appendChild(txt);                    
    div.setAttribute('className', style);    
    cell.appendChild(div);                   
}
var myfunction=function()
{
警报(“单击的行,id“+this.id+”,文本“+this.innerHTML”);
}
函数addRow(){
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{   
s=xmlhttp.responseText;
信息=s.split(“!”);
elem=document.getElementById(“添加播放器1”);
对于(变量i=0;i<(信息长度-1);i++)
{
变量行=元素插入行(-1);
row.onclick=myfunction;
temp=info[i]。拆分(“,”;
对于(j=0;j<3;i++){
appendDiv(行insertCell(j),temp[j],'divStyle');
}
}
}
函数appendDiv(单元格、文本、样式){
var div=document.createElement('div'),
txt=document.createTextNode(文本);
div.appendChild(txt);
div.setAttribute('className',style);
子单元(div);
}

还有一些我觉得可能有用的东西..是否可以用我上面使用的方式创建一个ID为div、p、a等的元素?您忘记了一些var关键字includes.var s=xmlhttp.responseText等,所以您不会意外地创建全局变量。我还必须说,使用jQuery可以让ajax调用变得更容易。或者这个$.po呢st('foo.php',{formvar:'value},function(webpage){var info=webpage.split(“!”;/*etc*/});在使用jQuery时,您可以轻松地创建元素(以便与您的问题有更多的联系)。var div=$('');otherdiv.append(div);感谢您的回复Avinash我将尝试新代码并带着任何疑问返回。:)@Prahalapp用附加Div的示例更新了答案