【问题标题】:Appending html with each function为每个函数附加 html
【发布时间】:2011-08-14 04:18:55
【问题描述】:

这是我在这里的第一个问题……要温柔。 ;-)

我在我的表单上遇到了一个简单的错误显示问题,希望有人能对此有所了解。

代码:

$(json.error).each(function(i, item){
    $('#returned').append('<span class=error>&nbsp;'+item+'&nbsp;<span><br />');
});

所以我正在尝试使用从我的处理脚本返回的错误填充一个 div。

以这种方式添加的问题是 IE 无法识别该类并应用我的样式。我也试过了

$(json.error).each(function(i, item){
    $('#returned').html('<span class=error>&nbsp;'+item+'&nbsp;<span><br />');
});

IE 喜欢这样...但是,它只显示返回的 json 数组中的最后一个错误。

我对编码还是很陌生,不确定完成我想做的事情的正确方法。

【问题讨论】:

  • 我可能是错的,但我认为您所需要的只是错误类周围的双引号。
  • 只是一些指导原则 - 它应该是 class="error" 而不是 class=error。不要使用  如果您不必这样做,当然也不要使用
    添加新行。
  • 为什么在这里使用 &amp;nbsp&lt;br /&gt; 不好?
  • 我使用 &nbsp 从 span 的边缘填充我返回的消息(css 是红色的,所以我想要在两边都有一个空格,这样它就不会碰到字母的边缘),
    用于分隔消息。 (根据未输入的输入,最多可能出现 4 个错误)
  • @Stuck 我明白了您想要实现的目标,但是将 html 用于视觉效果是不好的做法。改用 CSS 来设置结果样式。

标签: jquery html json append


【解决方案1】:

我可能是错的,但我认为您需要的只是错误类周围的双引号。

$(json.error).each(function(i, item){
    $('#returned').append('<span class="error">&nbsp;'+item+'&nbsp;<span><br />');
});

【讨论】:

  • 你是对的。我在发布这个问题后才注意到它。我是n0b...我知道。 =(
【解决方案2】:

尝试您的第一种方法,单独调用 addClass 方法,如下所示:

$(json.error).each(function(i, item){
    $('#returned').append('<span>&nbsp;'+item+'&nbsp;<span><br />').addClass('error');
});

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2014-11-24
    相关资源
    最近更新 更多