我有以下代码:
<textarea class="content">
[row]
[col-md-12]
text
[/col-md-12]
[/row]
[row]
text
[/row]
</textarea>
现在我想在[row]中直接添加[col-md-12]并在[/ row]之前用jquery关闭它。这应该是结果:
<textarea class="content">
[row]
[col-md-12]
text
[/col-md-12]
[/row]
[row]
[col-md-12]
text
[/col-md-12]
[/row]
</textarea>
(注意:上面的代码不是bootstrap!我刚刚使用了bootstrap,因为它更清晰,需要“col-md-12”!)
这是当前代码的jsfiddle示例: http://jsfiddle.net/Zoker/6mzrj1e7/
现在在“转换”之后,第一个'[vc_row]'中缺少'[vc_column width =“1/1”]',而在结束'[/ vc_row]'之前有一个'[/ vc_column]'。 这就是我需要添加的短代码。我不知道如何证明,如果它丢失并添加它然后......
此外,我必须在按钮上单击3次才能完全更新内容。单击一下后如何才能使其正常工作? (编辑:用https://stackoverflow.com/a/1145525/2977288固定的那个)
答案 0 :(得分:1)
很难实现:(希望有所帮助)
// auto_descritive
function wrap_string( str, open_param, close_param ){
var text = $(".content").text();
// all indexes of str
var re = new RegExp(str,'gi'), results = [];
while (re.exec(text)){
results.push(re.lastIndex);
}
// check each parent param of each str
for (var i=0; results[i]; i++) {
var y_param = text.substring(0, results[i]).lastIndexOf(']')+1;
var x_param = y_param - open_param.length;
var lastParam = text.substring(x_param, y_param);
var half1 = text.substring(0, y_param);
var half2 = text.substring(results[i]+str.length, text.length);
if (lastParam != open_param) {
text = half1 + open_param + str + close_param + half2;
$(".content").text( text );
// return true if one was wrapped
return true;
}
}
// return false in case nothing was wrapped
return false;
}
// wrap all "text" with "[col-md-12] /"
while( wrap_string( "text", "[col-md-12]", "[/col-md-12]" ) );