以下代码是一个textmate javascript片段,有人可以解释一下吗?因为我想在我自己的代码片段中使用此功能。感谢。
document.getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}("$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);