如何将 HTML 代码作为变量放在 jQuery 数组中,然后使用该 var 替换内容?

How to put HTML code in a jQuery array as variable, then use that var to replace content?

有一个链接列表的页面,需要修改右边的信息。我在 jQuery 中尝试了一些东西,但我做错了,当然。

HTML

<div class="left">
    <a name="top"></a>
    <div class="title">
        <a class="options" href="#top" data-value="0">
            Title
        </a>
    </div>
    <ul>
        <a class="options" href="#top" data-value="1"><li>Link 1</li></a>
        <a class="options" href="#top" data-value="2"><li>Link 2</li></a>
        <a class="options" href="#top" data-value="3"><li>Link 3</li></a>
    </ul>
</div>
<div class="right">
    <p>Default text</p>
</div>

jQuery

请注意,我必须在内容中保留引号,是否有其他方式包含变量?我原来的变量有单引号和双引号。

var content = [

            "<p>Content 1</p>",
            "<p>"Content 2"</p>",
            "<p>Content 3</p>"
            ];

$(document).ready(function () {
    $('.options').click(function() {
        $('.right').html(content[$(this).data("value")]);
    });
});

如何将 HTML 代码(包括引号)放入变量中?

var content = [
            "<p>Content 1</p>",
            "<p>Content 2</p>",
            "<p>Content 3</p>"
            ];

您的内容变量需要在数组项之间使用逗号:

var content = [
            "<p>\"Content 1\"</p>",
            "<p>\"Content 2\"</p>",
            "<p>\"Content 3\"</p>"
            ];

而且您的数据值需要从 0(而不是 1)开始。或者您可以在您的 javascript 中考虑它,例如

$('.right').html(content[$(this).data("value")-1]);