【问题标题】:how to assign some section of a html code that has ' (single quotation) and "(double quotation)如何分配具有'(单引号)和“(双引号)的html代码的某些部分
【发布时间】:2013-09-02 15:12:49
【问题描述】:

我想将 html 的一部分分配给名为 content 的 javascript 变量,下面是我要分配的 html:

<div class="post">
    <div>
        <div class="left-up-image" ><img src="{% static 'social/images/pin.png' %}"></div>
        <div class="right-up-image" ><img src="{% static 'social/images/pin.png' %}"></div>
    </div>
    <div class="mainPost">
        <p >stuff</p>
    </div>
    <div>
        <div class="left-down-image" ><img src="{% static 'social/images/pin.png' %}"></div>
        <div class="right-down-image" style=""><img src="{% static 'social/images/pin.png' %}"></div>
    </div>
    <div class="friendPostExtra">
        <div class="likePost">
            <img class="likeButton" src="{% static 'social/images/like.png' %}">
            <p>12</p>
        </div>
        <div class="dislikePost">
            <img class="dislikeButton" src="{% static 'social/images/dislike.png' %}">
            <p>12</p>
        </div>
        <div class="commentPostButton">
            <p>Comment</p>
        </div>
        <div class="sharePostButton">
            <p>Share</p>
        </div>
    </div>
</div>

当单击按钮时,我想用 jquery prepend 这个部分。在 html 的这个部分中,我们有 '" 标记,我不能将它用作带有 ' 的简单字符串或" 到 jquery 变量。我该怎么做?

【问题讨论】:

  • django 处理完后不会有单引号,所以使用单引号。你真正的问题是它是多行的。你为什么不把它放在它会出现的地方,让它隐藏并用 jQuery 显示呢?
  • 您不必在使用引号时保持一致。您可以在某些元素中使用单引号,在其他元素中使用双引号。重要的是它们正确匹配。
  • @PavelAnossov 因为这是每次用户单击页面中的某个按钮时创建的帖子。然后内容转到服务器并检查然后返回到 html 页面并将内容添加到页面(如脸书,...)
  • @Barmar 如何在 html 中仅使用单引号使用 django 静态文件源?
  • 对不起,我对django一无所知。我只是在谈论一般的 HTML,并使用jQuery.prepend()

标签: javascript jquery html django


【解决方案1】:

你可以转义引号

var content = "<a href=\"http://..\" alt='something'>link</a>";

或者你可以使用这个方法(我不知道它叫什么)

<script id="testId">
  <a href="http://.." alt='something'>link</a>
</script>

var content = $('script#testId').html();

我很确定第二个是某种糟糕的编码习惯,但我将它用于 javascript 模板系统并且效果很好

【讨论】:

  • 谢谢,但你的第二个解决方案不适合我。因为我想用 jquery 创建一些内容,而不是从 DOM 中获取。
  • 你从哪里得到上面的代码,因为我假设你没有创建用 jquery 剪断的代码?我只是假设它来自模板文件
  • 是的。它来自模板文件,但我想用 jquery 创建内容,而不是在你的第二个代码中从 DOM 中获取它,你从 DOM 中得到 html()。我的意思是:var content = $('script#testId').html();
  • 所以如果我有正确的模板将在模板文件中,并且您想直接从所述模板文件将其加载到 js 变量中?
  • 我不明白你到底在说什么,但我的项目中有一个.js 文件和一个html 模板,我想创建一个包含' 和@ 的模板部分987654327@ 与带有appendprepend 函数的jquery 一起使用,但由于'" 一起存在,我不能这样做。
【解决方案2】:

您可以将字符' 编码为&amp;#39;"&amp;quot;&amp;#34;,让您在HTML 属性中使用引号。

【讨论】:

  • 谢谢,但这意味着如果我有大量数据,我必须将所有'" 转换为您所说的?天哪:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 2019-07-05
  • 2016-02-15
  • 1970-01-01
相关资源
最近更新 更多