【问题标题】:IMG tag does not display after INPUT tag在 INPUT 标签后不显示 IMG 标签
【发布时间】:2010-06-21 20:44:49
【问题描述】:

给定 html 片段

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" >  
  <head>
    <title>Test JQuery AppendTo</title>  
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">      
    </script>  
  </head>  
  <body>
    <div id="Test1">
      <p>Just some text</p>
    </div>
    <form name="FORMPOST" method="post" action="showform.aspx" id="FORMPOST" >
      <label for="Test2">Test Label</label>
      <input id="Test2" type="checkbox" />
      <img src=\"add2.jpg\">
    </form>
  </body>
</html>

鉴于add2.jpg图片和html代码在同一目录下,为什么图片不显示?请注意,如果我将图像标签节点移动到 div 节点内,它将显示:(

请注意,无论我是在设计时添加 img 标签,还是在表单加载时使用 jQuery.appendTo 函数附加它,都不会出现显示。

【问题讨论】:

  • 感谢您发现斜线 :) 作为补充问题,当我在表单加载时使用 jQuery 创建图像标签时出现了这个问题。所以如果你去掉上面的图片标签,在 html <script type="text/javascript"> $(document).ready(function() { var a = $("< img src=\"add2.jpg\">"); a.appendTo($("#Test2")); }); </script> 图像不会显示。 FF 在输入标签之后显示带有 img 标签的生成源 - 但不会渲染图像。
  • 您应该尝试附加到表单:a.appendTo($("#FORMPOST"));。 $("#Test2") 是一个 input 元素。
  • 谢谢 Daniel 如何在输入元素之后放置它(真实的表单上有很多 - 这是一个精简的测试用例)?
  • 好的,我会将输入包含在另一个标签中以控制布局。谢谢大家。

标签: html input image


【解决方案1】:

首先,您不应该在引号中使用反斜杠。你能给我们一个指向页面本身的链接吗?因为那会奏效。

【讨论】:

  • 谢谢 - 斜线是一个错字 :( 该页面位于一个内部应用程序中,当使用 jQuery 动态加载图像时,该应用程序在 IE 中引发错误。我将发布导致问题的 jQuery 片段. FF 不会抛出错误 - 只是无法显示图像。IE 8 会抛出脚本错误。
【解决方案2】:

&lt;img src=\"add2.jpg\"&gt; 中的反斜杠是错字吗? &lt;img src=\"add2.jpg\"&gt; 应该是 &lt;img src="add2.jpg" /&gt;。

您需要正斜杠来结束 img 标记,因为您使用的是 XHTML。

【讨论】:

  • 谢谢 - 斜线是错字。 fwd 斜杠关闭标签仍然存在问题。
【解决方案3】:

您的图片标签在我看来格式不正确

<img src="add2.jpg" />

这对你有用吗?

【讨论】:

  • OP 确实需要/&gt;,因为这是 XHTML。
猜你喜欢
  • 2019-01-15
  • 2021-11-30
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多