jquery将html元素添加到表中

时间:2012-06-01 09:08:16

标签: jquery html add

我想添加一个空的html表的链接。它可以在0.2秒内在Firefox和Chrome上运行,但在IE9中则不行。至少需要3分钟。原因是所传递的数据完全不同。我在所有三个浏览器中都进行了相同的查询。这是我的代码:

function submitForm(dataString) 
{

    jQuery.ajax({
        type: 'POST',
        cache: false,
        dataType: 'text',
        url: 'retrieveFileList.php',
        data: {'data':dataString},
        success: function(data){
            jQuery('#tresults').append(data);
        }
    });

    return false;
}

来自php文件的返回数据如下所示:

while($row = mysql_fetch_array($result))
{

$linktextpos = strrpos($row[0],"/",0);
$linktext = substr($row[0],$linktextpos);

echo "<tr>";
echo "<td>";
echo "</td>";
echo "<td>";
echo "<a color='#ffffff' href=\"" . $row[0] . "\"><font color=\"#ffffff\">" . "..." . $linktext . "</font></a>";
echo "</td>";
echo "</tr>";

}

2 个答案:

答案 0 :(得分:0)

你的php返回了多少行?我没有对此进行过测试,但我猜IE9在将大量行插入表格时可能不那么聪明。尝试插入它:

jQuery('#tresults').append($(data));

如果这没有帮助,请尝试将您的php输出包装在<tbody></tbody>

答案 1 :(得分:0)

确定。发现了问题。我的HTML文件有错误的标题。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

MSIE浏览器无法识别这个(没有PublicID)并以Quirks模式呈现它,因此document.getElementById()...无法正常工作,并且sql得到了错误的参数。 Puuh。

应该说:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/HTML4/loose.dtd">