任何人都可以解释这个JavaScript textmate片段给我请
问题描述:
下面的代码是textmate JavaScript片段,任何人都可以解释它吗?因为我想在我自己的片段中使用此功能。谢谢。任何人都可以解释这个JavaScript textmate片段给我请
document.getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}("$2")
答
${1:T}
是第一个标签占位符,用默认值为“T”。这是当您输入“get”并点击标签时突出显示的文本。
$2
是第二个选项卡占位符。一旦按下了“T”或“I”在第一个选项卡占位符中完成了函数名称,就可以按Tab键来到此处。
你可能已经知道那些部分,但其他两个稍微有点棘手。
${1/(T)|.*/(?1:s)/}
是一种插入开关。它会查看您在第一个选项卡占位符中键入的值,并选择要插入的相应值。如果你输入“T”,它会插入一个“s”(使单词“元素”);否则,它不会插入任何东西。
是另一个插入开关,它再次查看您在第一个选项卡占位符中键入的值(这就是开始处“1”的含义)。这里有两种可能的插入:如果你输入“T”,它将把它完成为“标记名”,如果你输入“I”,它将把它完成为“Id”。
总体结果是,如果您调用代码片段并键入“T”,它将完成到“getElementsByTagName(”“)”。如果你调用它并输入“I”,它会将其完成为'getElementById(“”)'。
答
我一无所知的TextMate,但看起来它是产生如下:
document.getElementById(val);
document.getElementsByTagName(val);
不是这虽然:
document.getElementsByName(val);
非常感谢!!! – 2009-10-27 10:19:28