2012-03-21 39 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