Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用YUI将tr附加到车身上_Javascript_Dom_Yui - Fatal编程技术网

Javascript 使用YUI将tr附加到车身上

Javascript 使用YUI将tr附加到车身上,javascript,dom,yui,Javascript,Dom,Yui,我知道使用jQuery可以很容易地做到这一点,但还没有找到如何使用YUI 2来实现这一点 我正在通过AJAX提交表单,在回调中,如果成功,我想添加插入到DOM中现有表中的信息 这就是我正在尝试的,但没有成功: var callback = { success: function(o) { var result = YAHOO.lang.JSON.parse(o.responseText); if (result.success == true) {

我知道使用jQuery可以很容易地做到这一点,但还没有找到如何使用YUI 2来实现这一点

我正在通过AJAX提交表单,在回调中,如果成功,我想添加插入到DOM中现有表中的信息

这就是我正在尝试的,但没有成功:

var callback = {
    success: function(o) {
        var result = YAHOO.lang.JSON.parse(o.responseText);
        if (result.success == true) {
            var last_row = YAHOO.util.Dom.getLastChild('tbody_urls');

            var html = '<tr><th>' + result.name 
                + '</th><td><a href="' + result.url + '" title="' + result.url + '">' + result.url.substr(0, 80) + '</a></td><td></td><td></td></tr>';

            var el = YAHOO.util.Dom.insertAfter(html, last_row); // el is being set to NULL so the insert is failing

            YAHOO.util.Dom.get('form_urls').reset();
        }
    },
    failure: function(o) { error(); }
};
var回调={
成功:功能(o){
var result=YAHOO.lang.JSON.parse(o.responseText);
if(result.success==true){
var last_row=YAHOO.util.Dom.getLastChild('tbody_url');
var html=''+result.name
+ '';
var el=YAHOO.util.Dom.insertAfter(html,最后一行);//el被设置为NULL,因此插入失败
YAHOO.util.Dom.get('form_url').reset();
}
},
失败:函数(o){error();}
};

不能在节点后插入html字符串。尝试创建row元素,在其中插入html并附加row元素:

var callback = {
    success: function(o) {
        var result = YAHOO.lang.JSON.parse(o.responseText);
        if (result.success == true) {
            var last_row = YAHOO.util.Dom.getLastChild('tbody_urls');

            var html = '<th>' + result.name 
                + '</th><td><a href="' + result.url + '" title="' + result.url + '">' + result.url.substr(0, 80) + '</a></td><td></td><td></td>';
            var row=document.createElement("tr");
            row.innerHTML=html;

            var el = YAHOO.util.Dom.insertAfter(row, last_row); // el is being set to NULL so the insert is failing

            YAHOO.util.Dom.get('form_urls').reset();
        }
    },
    failure: function(o) { error(); }
};
var回调={
成功:功能(o){
var result=YAHOO.lang.JSON.parse(o.responseText);
if(result.success==true){
var last_row=YAHOO.util.Dom.getLastChild('tbody_url');
var html=''+result.name
+ '';
var行=document.createElement(“tr”);
row.innerHTML=html;
var el=YAHOO.util.Dom.insertAfter(row,last_row);//el被设置为NULL,因此插入失败
YAHOO.util.Dom.get('form_url').reset();
}
},
失败:函数(o){error();}
};
更新 为每个td和th创建一个dom元素

var callback = {
    success: function(o) {
        var result = YAHOO.lang.JSON.parse(o.responseText);
        if (result.success == true) {
            var last_row = YAHOO.util.Dom.getLastChild('tbody_urls');

            var row=document.createElement("tr");
            var th=document.createElement("th");
            th.innerHTML=result.name;
            row.appendChild(th);
            var td=document.createElement("td");
            td.innerHTML='<a href="' + result.url + '" title="' + result.url + '">';
            row.appendChild(td);
            row.appendChild(document.createElement("td"));
            row.appendChild(document.createElement("td"));

            var el = YAHOO.util.Dom.insertAfter(row, last_row); // el is being set to NULL so the insert is failing

            YAHOO.util.Dom.get('form_urls').reset();
        }
    },
    failure: function(o) { error(); }
};
var回调={
成功:功能(o){
var result=YAHOO.lang.JSON.parse(o.responseText);
if(result.success==true){
var last_row=YAHOO.util.Dom.getLastChild('tbody_url');
var行=document.createElement(“tr”);
var th=document.createElement(“th”);
th.innerHTML=result.name;
第4行,第4行;
var td=document.createElement(“td”);
td.innerHTML='';
世界其他地区(td);
行.appendChild(document.createElement(“td”);
行.appendChild(document.createElement(“td”);
var el=YAHOO.util.Dom.insertAfter(row,last_row);//el被设置为NULL,因此插入失败
YAHOO.util.Dom.get('form_url').reset();
}
},
失败:函数(o){error();}
};

不能在节点后插入html字符串。尝试创建row元素,在其中插入html并附加row元素:

var callback = {
    success: function(o) {
        var result = YAHOO.lang.JSON.parse(o.responseText);
        if (result.success == true) {
            var last_row = YAHOO.util.Dom.getLastChild('tbody_urls');

            var html = '<th>' + result.name 
                + '</th><td><a href="' + result.url + '" title="' + result.url + '">' + result.url.substr(0, 80) + '</a></td><td></td><td></td>';
            var row=document.createElement("tr");
            row.innerHTML=html;

            var el = YAHOO.util.Dom.insertAfter(row, last_row); // el is being set to NULL so the insert is failing

            YAHOO.util.Dom.get('form_urls').reset();
        }
    },
    failure: function(o) { error(); }
};
var回调={
成功:功能(o){
var result=YAHOO.lang.JSON.parse(o.responseText);
if(result.success==true){
var last_row=YAHOO.util.Dom.getLastChild('tbody_url');
var html=''+result.name
+ '';
var行=document.createElement(“tr”);
row.innerHTML=html;
var el=YAHOO.util.Dom.insertAfter(row,last_row);//el被设置为NULL,因此插入失败
YAHOO.util.Dom.get('form_url').reset();
}
},
失败:函数(o){error();}
};
更新 为每个td和th创建一个dom元素

var callback = {
    success: function(o) {
        var result = YAHOO.lang.JSON.parse(o.responseText);
        if (result.success == true) {
            var last_row = YAHOO.util.Dom.getLastChild('tbody_urls');

            var row=document.createElement("tr");
            var th=document.createElement("th");
            th.innerHTML=result.name;
            row.appendChild(th);
            var td=document.createElement("td");
            td.innerHTML='<a href="' + result.url + '" title="' + result.url + '">';
            row.appendChild(td);
            row.appendChild(document.createElement("td"));
            row.appendChild(document.createElement("td"));

            var el = YAHOO.util.Dom.insertAfter(row, last_row); // el is being set to NULL so the insert is failing

            YAHOO.util.Dom.get('form_urls').reset();
        }
    },
    failure: function(o) { error(); }
};
var回调={
成功:功能(o){
var result=YAHOO.lang.JSON.parse(o.responseText);
if(result.success==true){
var last_row=YAHOO.util.Dom.getLastChild('tbody_url');
var行=document.createElement(“tr”);
var th=document.createElement(“th”);
th.innerHTML=result.name;
第4行,第4行;
var td=document.createElement(“td”);
td.innerHTML='';
世界其他地区(td);
行.appendChild(document.createElement(“td”);
行.appendChild(document.createElement(“td”);
var el=YAHOO.util.Dom.insertAfter(row,last_row);//el被设置为NULL,因此插入失败
YAHOO.util.Dom.get('form_url').reset();
}
},
失败:函数(o){error();}
};

最好使用
appendChild
,因为如果没有现有tr,
insertAfter
将不起作用

<snip>
var tbody = YAHOO.util.Dom.get('tbody_urls');
tbody.appendChild(row);

var tbody=YAHOO.util.Dom.get('tbody_url');
tbody.appendChild(世界其他地区);

最好使用
appendChild
,因为如果没有现有tr,
insertAfter
将不起作用

<snip>
var tbody = YAHOO.util.Dom.get('tbody_urls');
tbody.appendChild(row);

var tbody=YAHOO.util.Dom.get('tbody_url');
tbody.appendChild(世界其他地区);

更近了。它正在插入,但由于某种原因,th和td标签被去掉了。即租赁“href=”http://www.url.comTry 用我刚刚写的另一个解决方案,谢谢。这很有效。但这真是一种痛苦。我想会有一个更简单的方法。我遇到了一个类似的问题,为了完整起见,我想添加这个注释:如果在调用appendChild后设置innerHTML,可以避免插入行中的td标记被剥离。有关更多信息,请参阅。更接近。它正在插入,但由于某种原因,th和td标签被去掉了。即租赁“href=”http://www.url.comTry 用我刚刚写的另一个解决方案,谢谢。这很有效。但这真是一种痛苦。我想会有一个更简单的方法。我遇到了一个类似的问题,为了完整起见,我想添加这个注释:如果在调用appendChild后设置innerHTML,可以避免插入行中的td标记被剥离。有关更多信息,请参阅。