gpt4 book ai didi

javascript 按钮在 IE 中不显示

转载 作者:行者123 更新时间:2023-11-28 08:37:17 25 4
gpt4 key购买 nike

以下代码在表行的一端创建一个蓝色按钮,该按钮链接到您所在的客户(您所在的行)的详细信息页面。此代码在 Firefox 中有效,但在 Internet Explorer 中不显示任何按钮,因此您无法访问详细信息页面。有人可以建议一个在 IE 和 Firefox 中都适用的解决方案吗?

$('#account-table tbody tr').each( function () {
//nCloneTd.innerHTML = '<a href="../two/'+this.id+'"><button class="btn btn-mini btn-primary" type="button">Detail</button></a>';
nCloneTd.innerHTML = '<a href="'+this.id+'"><button class="btn btn-mini btn-primary" type="button">Detail</button></a>';
nCloneTd.id = "detail_cell";
nCloneTd.className = "center";
nCloneTd.bgColor = "white"
this.insertBefore( nCloneTd.cloneNode( true ), this.childNodes[this.childNodes.length] );
});

其中一个答案询问开发工具控制台对页面/错误有何评论。查看IE中的开发工具控制台后,我发现问题出在这一行...

$('#account-table thead tr').each( function () {
this.insertBefore( nCloneTh, this.childNodes[this.childNodes.length] );
});

改变...

this.insertBefore( nCloneTh, this.childNodes[this.childNodes.length] );

成为...

this.insertBefore( nCloneTh);

还有...

this.insertBefore(  nCloneTd.cloneNode( true ), this.childNodes[this.childNodes.length]);

成为...

this.insertBefore(  nCloneTd.cloneNode( true ));

导致它在 IE 中正常工作,但在 Firefox 中失败(“Node.InsertBefore 参数不足”)。所以问题是,我是否可以在 javascript 中放置一个条件来围绕这两个语句,以便它为 IE 做一件事,为 Mozilla 做另一件事?

最佳答案

您的 jquery 循环和 JavaScript 插入可以重构。

$("#account-table tbody tr").each(function () { 
var $btn = $("<a>",
{
href: this.id,
html: "Detail",
"class": "btn btn-mini btn-primary center",
id: "detail_cell_" + this.id,
style: "background-color: #fff"
});

$(this).append($btn);
});
<小时/>

您正在给予n<a>标签相同 id ,这不是一个好主意。

您似乎正在使用引导按钮,而不是 <button> <a> 里面标签你可以给 <a>标记 btn

关于javascript 按钮在 IE 中不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20955540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com