0

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

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

2 回答 2

5

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

$2是第二个制表符占位符。在第一个制表符占位符中按“T”或“I”完成函数名称后,您可以按制表符到达此处。

那些你可能已经知道的部分,但其他两个稍微复杂一些。

${1/(T)|.*/(?1:s)/}是一种插入开关。它查看您在第一个选项卡占位符中键入的值,然后选择要插入的相应值。如果你输入“T”,它会插入一个“s”(组成“Elements”这个词);否则,它不会插入任何东西。

${1/(T)|(I)|.*/(?1:agName)(?2:d)/}是另一个插入开关,它再次查看您在第一个选项卡占位符中键入的值(这就是开头的“1”的含义)。在这里,有两种可能的插入方式:如果您键入“T”,它会将其补全为“Tagname”,如果您键入“I”,它将补全为“Id”。

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

于 2009-10-27T10:02:41.503 回答
0

我对textmate一无所知,但看起来它是为了生成以下内容:

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

不是这个:

document.getElementsByName(val);
于 2009-10-27T09:53:53.877 回答