用Jquery替换Div的元素

时间:2016-02-20 03:21:32

标签: jquery html wordpress

我在wordpress网站上有一个联系表单,当用户填写表单项时,会向用户显示一条消息。它是英文的,我想用西班牙语中的文本替换它。我不知道替换这个文本的文件在哪里使用Jquery似乎是最容易使用的东西。 这是警告信息:

    <div class="et-pb-contact-message">
      <p>Please, fill in the following fields:</p>
      <ul>
       <li>Nombre</li>
       <li>Email Address</li>
       <li>Mensaje</li>
       <li>Captcha</li>
      </ul>

这就是我正在尝试但不知何故它不起作用:

    <script>
    jQuery( document ).ready(function($) {  
    var div_data  =  "<p>Favor de llenar correctamente los campos:</p>
    <ul>
      <li>Nombre</li>
      <li>Email </li>
      <li>Mensaje</li>
      <li>Seguridad</li>
    </ul>";
     $(".et-pb-contact-message").html(div_data);
   });
   </script>

我做错了什么?

2 个答案:

答案 0 :(得分:2)

div_data中的换行符弄乱了你的字符串。您可以使用反引号替换双引号(键盘上1键之前的键),就像这样。这是ECMAScript 6(ES6)中的一个新功能,称为模板文字。

var div_data  =  `<p>Favor de llenar correctamente los campos:</p>
    <ul>
      <li>Nombre</li>
      <li>Email </li>
      <li>Mensaje</li>
      <li>Seguridad</li>
    </ul>`;

或者更常见的是每行连续字符串

var div_data  =  "<p>Favor de llenar correctamente los campos:</p>"+
    "<ul>"+
      "<li>Nombre</li>"+
      "<li>Email </li>"+
      "<li>Mensaje</li>"+
      "<li>Seguridad</li>"+
   "</ul>";

答案 1 :(得分:1)

在javascript中,换行符标记语句的结尾,因此当多行字符串移动到下一行并看到<时,它会导致错误,这是解析器的意外字符。尝试将字符串全部放在一行,这应该可以纠正错误。

<script>
  jQuery( document ).ready(function($) {  
    var div_data  =  "<p>Favor de llenar correctamente los campos:</p><ul><li>Nombre</li><li>Email </li><li>Mensaje</li><li>Seguridad</li></ul>";
     $(".et-pb-contact-message").html(div_data);
  });
</script>

或者,在ECMAScript 6中,反引号字符(`)可用于表示多行字符串或“模板文字”。正如他们在文档中提到的那样。