Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 全局替换/字符_Javascript_Jquery - Fatal编程技术网

Javascript 全局替换/字符

Javascript 全局替换/字符,javascript,jquery,Javascript,Jquery,小提琴- 我一直在为我的平板电脑设计一个网站,它几乎可以发布了,但我有一个问题 您可以看到,当我调整样式属性以获得良好的视觉样式时,默认情况下浏览器会将对元素的css修改添加到样式属性中。我相信你们大多数人都知道 我已经能够通过将整个画布的html镜像到另一个div并删除该div中的样式来删除style属性,这样我的设计区域/画布仍然可以按预期工作 我想做的是抓取这个,并将它镜像到一个文本区域,同时抓取所有的孩子。你可以在我的小提琴上看到。我的问题是如何在屏幕截图中显示所有的儿童css 编辑:

小提琴-

我一直在为我的平板电脑设计一个网站,它几乎可以发布了,但我有一个问题

您可以看到,当我调整样式属性以获得良好的视觉样式时,默认情况下浏览器会将对元素的css修改添加到样式属性中。我相信你们大多数人都知道

我已经能够通过将整个画布的html镜像到另一个div并删除该div中的样式来删除style属性,这样我的设计区域/画布仍然可以按预期工作

我想做的是抓取这个,并将它镜像到一个文本区域,同时抓取所有的孩子。你可以在我的小提琴上看到。我的问题是如何在屏幕截图中显示所有的儿童css

编辑
我最初尝试过这个,但它只会抓住第一个元素

$('.preview').children().prop("tagName").toLowerCase() + '.' + $('.preview').children().prop("className") + ' {\n ' + 
$('.preview').children().attr('style').replace(/;/g,";\n") + '}'
最近我尝试了一下

$('.hidden-preview').html($('.preview').html());
$('.hidden-preview').children("*").html("");
$(".hidden-preview *").removeAttr('contenteditable');
$(".code").val($(".hidden-preview").html().replace(/>/g,'').replace(/</g,'').replace(/style="/g,'{\n ').replace(/class="/g,'.').replace(/"/g,'').replace(/;/g,';\n') + "}\n\n");
非常感谢您的帮助。

.replace(///g,'}')
不起作用,因为需要在正则表达式中转义
/
,如下所示:

.replace(/ \//g, '}')
.replace(///g,'}')
不起作用,因为需要在正则表达式中转义
///code>,如下所示:

.replace(/ \//g, '}')

您需要进行一些修改: 要删除结束标记的开始括号,请执行以下操作:

.replace(/<\/?/g,'') 
这将捕获任何非
字符,并通过\1 so
style=“foo”
变为
{\nfoo}

从结尾处丢失对
的替换和
}
的追加


(实际上我已经更新了你的小提琴)

你需要一些修改: 要删除结束标记的开始括号,请执行以下操作:

.replace(/<\/?/g,'') 
这将捕获任何非
字符,并通过\1 so
style=“foo”
变为
{\nfoo}

从结尾处丢失对
的替换和
}
的追加


(我实际上已经更新了你的小提琴)

这是一个有趣的JQuery
.replace(/style=“([^“]+)”/g,{\n$1}')
我以前从来都不需要使用^symbol。我理解你的解释,但我在理解
([^“]+)方面有困难
数学部分。
^
否定由
[]
定义的字符类(如果它是第一个字符)。所以
[^”]
匹配任何不是
的字符。因此,您可以在引号之间捕获任意数量的非引号字符。好的,这将导致。这需要一段时间来记忆,但这肯定是有帮助的。谢谢这是一个有趣的JQuery
。replace(/style=“([^“]+)”/g,{\n$1}')
我以前从未使用过^symbol。我理解你的解释,但我在数学上理解
([^“]+)
部分时遇到困难。
^
否定了
[]定义的字符类
如果是第一个字符。所以
[^”]
匹配任何不是
的字符。因此,您可以在引号之间捕获任意数量的非引号字符。好的,这将导致。这需要一段时间来记忆,但这肯定是有帮助的。谢谢