关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
5年前关闭。
Improve this question
像大多数 Web 开发人员一样,我偶尔喜欢查看网站的源代码,看看他们的标记是如何构建的。 Firebug 和 Chrome Developer Tools 等工具可以轻松检查代码,但如果我想复制特定部分并在本地使用它,复制所有单个元素及其关联的 CSS 会很痛苦。并且可能同样多的工作可以保存整个源代码并删除不相关的代码。
如果我可以在 Firebug 中右键单击一个元素并有一个“为这个元素保存 HTML+CSS+JS”选项,那就太好了。有这样的工具吗?是否可以扩展 Firebug 或 Chrome 开发人员工具来添加此功能?
最佳答案
SnappySnippet
我终于找到了一些时间来创建这个工具。您可以安装 SnappySnippet来自 Github。它允许从指定的(最后检查的)DOM 节点中轻松提取 HTML+CSS。此外,您可以将代码直接发送到 CodePen 或 JSFiddle。享受!

其它功能
::before 合作和 ::after伪元素 window.getMatchedCSSRules()但是,效果并不好。问题是我们只采用了在整个文档的上下文中匹配的 HTML 和 CSS 选择器的一部分,而在 HTML 片段的上下文中不再匹配。由于解析和修改选择器似乎不是一个好主意,我放弃了这个尝试。getComputedStyle() .但是,我真的很想将 CSS 表单 HTML 分开,而不是内联所有样式。getComputedStyle()返回为给定元素计算的所有可能的 CSS 属性和值。其中一些为空,一些具有浏览器默认值。要删除默认值,我必须首先从浏览器中获取它们(每个标签都有不同的默认值)。解决方案是将来自网站的元素的样式与插入空 <iframe> 的相同元素进行比较。 .这里的逻辑是空 <iframe> 中没有样式表。 ,所以我在那里附加的每个元素都只有默认的浏览器样式。通过这种方式,我能够摆脱大部分无关紧要的属性。border: solid black 1px 然后是 border-color: black; ,border-width: 1px itd.)。-webkit-我从未听说过的前缀属性 ( -webkit-app-region ? -webkit-text-emphasis-position ?)。-webkit-transform-origin 、 -webkit-perspective-origin 等)。不过,我还没有想出如何验证这一点,因为我知道大多数时候这些属性只是垃圾,所以我决定将它们全部删除。<li>,在创建的 CSS 输出中都有相同的规则)。#LI_1{...}, #LI_2{...}我收到了 #LI_1, #LI_2 {...} .outerHTML属性保持它的格式与从服务器返回的完全一样。outerHTML 的 HTML 代码需要的是一个简单的代码重新格式化。由于它在每个 IDE 中都可用,我确信有一个 JavaScript 库可以做到这一点。事实证明,I was right (jquery-clean) .更重要的是,我已经删除了不必要的属性( style 、 data-ng-repeat 等)。关于html - 从 DOM 的特定元素选择性地复制 HTML+CSS+JS 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911338/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我在MiniTest::Spec和Capybara中使用以下规范:find_field('Email').must_have_css('[autofocus]')检查名为“电子邮件”的字段是否具有autofocus属性。doc说如下:has_css?(path,options={})ChecksifagivenCSSselectorisonthepageorcurrentnode.据我了解,字段“Email”是一个节点,因此调用must_have_css绝对有效!我做错了什么? 最佳答案 通过JonasNicklas得到了答案:No
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
查看我的Ruby代码:h=Hash.new([])h[0]=:word1h[1]=h[1]输出是:Hash={0=>:word1,1=>[:word2,:word3],2=>[:word2,:word3]}我希望有Hash={0=>:word1,1=>[:word2],2=>[:word3]}为什么要附加第二个哈希元素(数组)?如何将新数组元素附加到第三个哈希元素? 最佳答案 如果您提供单个值作为Hash.new的参数(例如Hash.new([]),完全相同的对象将用作每个缺失键的默认值。这就是您所拥有的,那是你不想要的。您可以改用
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是: