任何人都可以向我解释这个javascript textmate片段

时间:2009-10-27 09:45:30

标签: editor textmate code-snippets

以下代码是一个textmate javascript片段,有人可以解释一下吗?因为我想在我自己的代码片段中使用此功能。感谢。

document.getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}("$2")

2 个答案:

答案 0 :(得分:5)

${1:T}是第一个标签占位符,默认值为“T”。这是当您键入“get”并点击标签时突出显示的文本。

$2是第二个标签占位符。一旦按下“T”或“I”以完成第一个标签占位符中的函数名称,就可以按Tab键到达此处。

你可能已经知道的那些部分,但其他两个稍微有点棘手。

${1/(T)|.*/(?1:s)/}是一种插入开关。它会查看您在第一个标签占位符中键入的值,并选择要插入的相应值。如果键入“T”,则会插入“s”(以生成“Elements”一词);否则,它不会插入任何内容。

${1/(T)|(I)|.*/(?1:agName)(?2:d)/}是另一个插入开关,它再次查看您在第一个标签占位符中键入的值(这就是开头的“1”表示)。这里有两种可能的插入:如果你键入“T”,它将把它完成为“Tagname”,如果你输入“I”,它将把它完成为“Id”。

总体结果是,如果您调用代码段并输入“T”,它将完成“getElementsByTagName(”“)”。如果你调用它并输入“I”,它将把它完成为'getElementById(“”)'。

答案 1 :(得分:0)

我对textmate一无所知,但看起来是产生以下内容:

document.getElementById(val);
document.getElementsByTagName(val);

虽然不是这样:

document.getElementsByName(val);