使用jQuery进行多行字符串插入

问题描述 投票:26回答:3
$("#addSelect").click(function() {
        $("#optionsForm").after("Hello world.");
} );

这有效。

$("#addSelect").click(function() {
        $("#optionsForm").after("<tr>
    <td><input type="text" class="optionField" value="Options" /></td>
    <td>
        <ul class="option">
            <li><select><option>Value..</option></select></li>
        </ul>
    </td>
</tr>");
} );

这样的事情没有。

在Chrome中,我收到错误“Unexpected token ILLEGAL”。谷歌搜索后,我发现我的小脑对javascript和多行知之甚少。所以我在每一行的末尾添加了'\'。然而,我现在得到错误“意外的标识符”。

我想这不会像我做的那样困难:)

javascript jquery
3个回答
2
投票

$("#addSelect").click(function() {
    $("#optionsForm").after(`<tr>
    <td><input type="text" class="optionField" value="Options" /></td>
    <td>
        <ul class="option">
            <li><select><option>Value..</option></select></li>
        </ul>
    </td>
</tr>`);
} );

39
投票

将属性的所有双引号更改为单引号。

$("#addSelect").click(function() { 
        $("#optionsForm").after("<tr> \
    <td><input type='text' class='optionField' value='Options' /></td> \
    <td> \
        <ul class='option'> \
            <li><select><option>Value..</option></select></li> \
        </ul> \
    </td> \
</tr>"); 
} ); 

19
投票

更清洁的方法是使用<script>标签

https://stackoverflow.com/a/12097933/1416458

<script id="stuff_you_want" type="text/plain">
<tr>
    <td><input type="text" class="optionField" value="Options" /></td>
    <td>
        <ul class="option">
            <li><select><option>Value..</option></select></li>
        </ul>
    </td>
</tr>
</script>

<script>

    // pure javascript
    var text = document.getElementById("stuff_you_want").innerHTML ;

    //or using jQuery... (document ready for safety)
    $(document).ready(function() {

        var text = $("#stuff_you_want").html(); 

    }

</script>

必须为html 4.0 compliance设置content-type。


0
投票

我更喜欢使用这样的东西:

$('<tr bgcolor="#ffffe6"><td></td><td colspan="8" id="orderNotes">'
    + inputNotes.val() + '</td> <td>' + todayStamp
    + '</td> </tr>')

我觉得它很干净+连接让你知道我们正在使用相同的黑色,它可以让你灵活地添加变量。

© www.soinside.com 2019 - 2024. All rights reserved.