3

我偶然发现了这段代码:

<a href="#" class="text1"{text2}>...</a>

做什么的{text2}?稍后,此 HTML 将替换为:

<a href="#" class="text1" {text2} style>...</a>

有没有办法可以text2用 jQuery 检索值?

4

4 回答 4

3

它在 HTML 中什么都不做。它实际上是无效标记。看起来您可能有一个模板系统,可以在它呈现给浏览器之前找到并替换它。

于 2013-03-07T18:46:38.037 回答
3

在某些情况下,输入了代码,因此脚本实际上可以轻松识别行。或者在某些情况下,可以作为数据库在提取数据后检索和存储数据的指标。

或者它可能是无效的标记,如果这个人知道他们在做什么是值得怀疑的。

但如果没有任何其他信息或变量,就很难说。但最常见的是访问 Php、Javascript 甚至 C# 中的脚本。因为他们可以解析 HTML 文档并对其进行操作。 如果使用了这些大括号,并且不正确,则会导致解析错误。

希望那种澄清它。


更新:

是的,jQuery 可以找到它。它是 Javascript 的一种形式。您可以实现以下内容:

$(function() {
    var foundString = $('*:contains("{text1}")');
});

有大量数据可以更详细地解决这个问题。

于 2013-03-07T18:49:12.563 回答
2

我知道在 jinja2(一个 python 模板系统)中,括号包含模板引擎的命令,或者是:

Hello, {{varName}}

或者:

<ol>
{%for l in varList%}
<li>{{l}}</li>
{%endfor%}
</ol>

那是在 jinja 中,但是 jinja 的语法与 django 模板相似,许多其他模板引擎也可能复制 django 的语法。

于 2015-09-23T17:17:07.447 回答
2

它在Angular js中使用,被称为表达式{{expression}}

AngularJS 是一个 JavaScript 框架。它可以添加到带有标签的 HTML 页面中。

AngularJS 使用Directives扩展 HTML 属性,并使用Expressions将数据绑定到 HTML 。

于 2017-12-18T04:12:32.850 回答