2

我在 div 标签中有一个图像,我正在展开和折叠该 div 标签。

div标签展开时显示信息,当 div 标签折叠时不显示信息。

图像在 IE 9、Mozilla 中正确显示,但在 IE 8 中未显示。

div在后面的代码中动态添加标签中的图像。

我的代码如下

String expandDivId = String.Format("{0}", "testkey");
StringBuilder testLinks = new StringBuilder();

testLinks.Append(String.Format("<div><a href='#' id='" + expandDivId + "-or" + "  onclick='javascript:ExpandInfo(\"" + expandDivId + "\"); return false;'>{0}</a></div>", "TestTitle")); 

testLinks.Append(String.Format("<div style='display: none;' id='{0}'>", expandDivId));

testLinks.Append("<div class=\"head1\" style=\"font-weight:bold\">Test Informaton</div>");

testLinks.Append("<div style=\"text-align:left;\">Test data and informaion.<br /><br /></div>");

testLinks.Append("<a href='http://www.forums.asp.net' target='blank'>test heading 1</a>&nbsp;<img src=\"../../images/TestIcon.png\" alt=\"PDF\" width=\"14\" nowrap/><br/>");

testLinks.Append("</div>");

我的javascript函数如下

function ExpandInfo(divId) {
    var origin = $("#" + divId + "-or");
    if ($(origin).hasClass("ex")) {
        $(origin).text($(origin).text().slice(0, -1) + "+");
    } else {
        $(origin).text($(origin).text().slice(0, -1) + "-");
    }    
    $("#" + divId).slideToggle("500");
    $(origin).toggleClass("ex");
}

请让我知道为什么图像没有在 IE 8 中显示。

4

1 回答 1

-1

您需要添加一个高度属性。没有一个 img 元素在技术上是无效的,但大多数浏览器都会解决这个问题。IE8(可以预见,也许)只是假设您的图像根本没有高度,因此似乎不会显示它。

于 2012-10-21T19:34:58.730 回答