2012-03-21 35 views
3

我在xhtml中有以下脚本。我正在使用主要面孔3.1。添加HTML标签到.append()问题jquery .xhtml

<script>    
     $(document).ready(function(){ 
      $("#form_Detail").submit(function(){ 
        $('input[name$="vInputTxt1"]').each(function(){ 
         if($(this).val()==""){ 
          $("#errorMessages").append("v is required"); 
          $("#errorMessages").append('<br />'); 
         } 
        }); 

        $('input[name$="gcInputTxt"]').each(function(){ 
         if($(this).val()==""){ 
        Line A:  $("#errorMessages").append("gc is required"); 
         } 
        }); 
      }); 
     }); 
    <script> 

一切正常,直到我包括

$("#errorMessages").append('<br />'); 

加入BR标签后,我得到的错误:未捕获的SyntaxError:意外的标记; (A线)

大概是因为这是越来越生成的HTML是:

$('input[name$="vInputTxt1"]').each(function(){ 
    if($(this).val()==""){ 
     $("#errorMessages").append("v is required"); 
     $("#errorMessages").append('<br />'); 
    } 
}); 

          $('input[name$=&quot;gcInputTxt&quot;]').each(function(){ 
    if($(this).val()==&quot;&quot;){ 
    $(&quot;#errorMessages&quot;).append(&quot;gc is required&quot;); 
    } 

});

请注意,埃夫里""后BR标签已经得到了转化为&quot;

作为新的jQuery & XHTML,我无法理解的原因。我确实读了Why can't I add a <br /> with JQuery .html? & Creating valid XHTML when using jQuery .append(),但无法确定问题。

如果我不使用$(“#errorMessages”)。append('
'); html不会附加到div errorMessages。

感谢, Shikha

+0

如果不包括
标签会发生什么? 如果你能显示一些你的html代码? – 2012-03-21 05:39:33

+0

@Digvijay是的,在这种情况下,html代码确实会被添加到div中。 – 2012-03-21 06:01:34

+0

如果您不追加
标签,那意味着没有错误? – 2012-03-21 06:10:37

回答

0

在这里,我在声明中您将追加前
标签有以下声明

$("#errorMessages").append("v is required"); 

这个jQuery的append方法是追加一些HTML元素的页面,但你正在附加一个jQuery无法解析的字符串。所以它给出了意外令牌的错误。

+0

'çode'$ (“#errorMessages”)。append(“v is required”);如果我不包含'çode'$(“#errorMessages”),'çode'完全正常显示并正确显示。append('
');'' çode' – 2012-03-21 05:15:50

0

这有什么区别,如果你改变了行: ​​

如果不是,改变 .append("v is required");.html("v is required");.append("gc is required");.html("gc is required");

+0

已经尝试过:使用$(“#errorMessages”)。append(“
”);将.append更改为.html。但是,问题仍然存在。 – 2012-03-21 06:01:58