我知道没有内置方法可以执行您要求的操作。您必须在 Dreamweaver 中手动进行更改。
我虽然擅长 JavaScript,但你可以使用 Tom Muck 的 Evaluate JavaScript 面板(http://www.communitymx.com/abstract.cfm?cid=270FB商业广告,但只要 2 美元,我在 CS5 中并没有厌倦它.5 或 6,但它肯定适用于 CS5,并且应该适用于更高版本)或 Dreamweaver 平台 SDK(http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1009962 #虽然它说 DW8 和 MX2004 它应该在以后的版本中工作,但我确定我已经将它安装到 CS3 中,并且刚刚在 CS6 中进行了测试并且安装良好,这只是一个小问题,其中一些添加的菜单项被放置到a Commands -> Miscellaneous menu ),其中包含一个可以输入 JavaScript 并运行的命令。
那么,为什么要在这里提到 JavaScript 呢?嗯,Dreamweaver 的可扩展层是在构建时公开了一个 JavaScript API。这意味着您可以使用 JavaScript 操作文档。在这种情况下,请编辑文档以增加数字。
我刚刚使用 Dreamweaver Platform SDK Evaluate JavaScript 命令在 Dreamweaver CS6 中测试了以下内容。
在代码视图中选择要增加的 CSS 选择器。转到命令 -> SDK 工具 -> 评估 JavaScript。将以下代码粘贴到您的文档中:
var dom = dw.getDocumentDOM();
var sel = dom.source.getSelection();
var src = dom.source.getText(sel[0], sel[1]);
var matches = src.match(/(\.classname li:nth-of-type\()(\d+)(\))/g);
var newSrc = src;
if(matches){
for(var i =0; i< matches.length; i++){
// note: the following code through the ending ; is all on one line
newSrc = newSrc.replace( matches[i], matches[i].replace(/(\.classname li:nth-of-type\()(\d+)(\))/, function(str, p1, p2, p3){return p1 + (parseInt(p2)+1) + p3} ) );
}
}
dom.source.replaceRange(sel[0], sel[1], newSrc);
单击评估按钮。您应该看到代码中的数字增加了。
注意:此代码使用正则表达式来查找您提供的特定 CSS 选择器,因此如果您有不同的 CSS 选择器,则需要调整 src.match() 行以及 newSrc.replace( ) 行。
为了使其更通用一点,您可能需要尝试以下操作:
var dom = dw.getDocumentDOM();
var sel = dom.source.getSelection();
var src = dom.source.getText(sel[0], sel[1]);
var matches = src.match(/(\()(\d+)(\))/g);
var newSrc = src;
if(matches){
for(var i =0; i< matches.length; i++){
// note: the following code through the ending ; is all on one line
newSrc = newSrc.replace( matches[i], matches[i].replace(/(\()(\d+)(\))/, function(str, p1, p2, p3){return p1 + (parseInt(p2)+1) + p3} ) );
}
}
dom.source.replaceRange(sel[0], sel[1], newSrc);
这只是替换与括号括起来的数字匹配的任何文本。