在参数列表之后? jQuery的

时间:2012-06-20 16:38:34

标签: jquery select apostrophe

使用下面的代码我可以在我的表格中插入一个新行(#courseelements)。

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append('<tr><td>Helloworld</td></tr>');
    });

但是,我想将Helloworld替换为<select>元素。所以像这样:

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append('<tr><td>

        <select class='plan_id'>
            <option value='1'>Description</option>
            <option value='2'>Description</option>
            <option value='3'>Description</option>  
        </select>


      </td></tr>');
    });

但是在第一个撇号'<select class='

之后,这让我“缺少”参数列表

任何想法为什么?

6 个答案:

答案 0 :(得分:4)

你忘了逃避引用:

$("#addbutton").click(function() {
  $('#courseelements > tbody:last').append('<tr><td>

    <select class=\'plan_id\'>
        <option value=\'1\'>Description</option>
        <option value=\'2\'>Description</option>
        <option value=\'3\'>Description</option>  
    </select>


  </td></tr>');
});

作为替代方案,您可以将整个追加字符串换成双引号而不是单引号:

$("#addbutton").click(function() {
  $('#courseelements > tbody:last').append("<tr><td>

    <select class='plan_id'>
        <option value='1'>Description</option>
        <option value='2'>Description</option>
        <option value='3'>Description</option>  
    </select>


  </td></tr>");
});

答案 1 :(得分:1)

var select=$("<select class='plan_id'></select>")
    .append("<option value='1'>Description</option>")
    .append("<option value='2'>Description</option>")
    .append("<option value='3'>Description</option>");

 $('#courseelements > tbody')
.append($("<tr><tr>"))
.append($("<td></td>")
.append(select));

DEMO.

答案 2 :(得分:1)

您需要为HTML中的引号使用不同的引号类型,而不是围绕HTML引用:

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append("<tr><td>

        <select class='plan_id'>
            <option value='1'>Description</option>
            <option value='2'>Description</option>
            <option value='3'>Description</option>  
        </select>


      </td></tr>");
    });

答案 3 :(得分:1)

您必须使用不同的引号。

select class="plan_id">

加倍,因为整个字符串用单个分隔符。

答案 4 :(得分:1)

在字符串中用双引号更改单引号 -

<select class="plan_id">
            <option value="1">Description</option>
            <option value="2">Description</option>
            <option value="3">Description</option>  
        </select>

或使用\转义它们 -

<select class=\'plan_id\'>......

答案 5 :(得分:0)

如果你想调用$('')。通过PHP echo追加,就像这样:

$info= "<div style=\'font-size:9px;\'>
    <img src=\'./img/filtro.png\'>Some tips
</div>";
echo "<script type='text/javascript'>
    $('#divTips').append('$info'); 
</script>";

确保之前更换所有断裂线,如下所示:

$info= preg_replace( '/\s+/', ' ', $info);