首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让jQuery在所有浏览器中都能正常工作?

如何让jQuery在所有浏览器中都能正常工作?
EN

Stack Overflow用户
提问于 2010-08-05 04:48:16
回答 3查看 271关注 0票数 0

我使用以下脚本将一些内容发布到服务器,并将json结果写回用户浏览器。它没有像预期的那样工作:(

代码语言:javascript
运行
复制
$(document).ready(function () {
    $('#productForm').ajaxForm({
        dataType: 'json',
        success: function (response) {
            var tmp = '<tr>';
            tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';
            tmp += '<td>' + response.Quantity + '</td>';
            tmp += '<td>' + response.UnitPrice + '</td>';
            tmp += '<td>' + response.ProfitRate + '</td>';
            tmp += '<td>' + response.Description + '</td>';
            tmp += '<td>' + response.Total + '</td>';
            tmp += '</tr>';
            $('#productsBody').append(tmp);
            alternateRows();
        },
        clearForm: true,
        resetForm: true,
        timeout: 3000
    });
}); 

在火狐中一切都很好,在chrome中新行根本不显示,但我有一些小区域改变了颜色。

在internet explorer 8中,我没有得到链接,它把链接当作普通的文本。我会再尖叫一些,希望有人能告诉我,当我尖叫着回来的时候,它为什么不起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-05 04:50:35

试着改变

代码语言:javascript
运行
复制
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';

为了..。

代码语言:javascript
运行
复制
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'">Kasta</a></td>';
票数 8
EN

Stack Overflow用户

发布于 2010-08-05 04:51:42

这可能是一个<tbody>问题:浏览器会自动将一个tbody附加到您正在做的事情所破坏的表结构中。不确定,但您可以尝试在tr周围包装一个tbody,看看它的行为是否更好。也许其他人有不同的想法。

除此之外,Chrome的"Inspect元素“是你的朋友:它应该能够告诉你标记的哪一部分被篡改了。

票数 2
EN

Stack Overflow用户

发布于 2010-08-05 05:41:05

这是不可能的。即使你今天让它在所有的浏览器上工作,它也可以很容易地在明天的浏览器和下一个版本中破解。(假设有一个新版本的jQuery可以修复任何可能的问题,如果没有,我想你只能等待并容忍一个坏掉的网站。)

唯一100%确定的答案是:如果你需要一个一致的平台,不要使用JavaScript进行严肃的开发,使用虚拟机解决方案,如Silverlight、Flex或JavaFX。JavaScript/AJAX/DHTML应该只用在非任务关键型的东西上,这些东西你已经坏了几天了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3409700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档