我想返回一个包含CSS规则所有内容的字符串,就像您在内联样式中看到的格式一样.我希望能够在不知道特定规则中包含的内容的情况下执行此操作,因此我不能仅通过样式名称将其拉出(如.style.width
等)
CSS:
.test {
width:80px;
height:50px;
background-color:#808080;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止的代码:
function getStyle(className) {
var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules
for(var x=0;x<classes.length;x++) {
if(classes[x].selectorText==className) {
//this is where I can collect the style information, but how?
}
}
}
getStyle('.test')
Run Code Online (Sandbox Code Playgroud) 我有一个图形设计师的指示,用于为某些元素指定"轨道100"的布局.在CSS中letter-spacing
是"跟踪"的等价属性.
给定跟踪值,您如何将其表示为CSS的值(以像素为单位)?
过去,人们习惯在JavaScript块周围包装HTML注释标签,以防止"旧"浏览器显示脚本.即使是Lynx也足够聪明,可以忽略JavaScript,那么为什么有些人会继续这样做呢?这些天有没有正当理由?
<script type="text/javascript">
<!--
//some js code
//-->
</script>
Run Code Online (Sandbox Code Playgroud)
编辑:我遇到过一种情况.某些代码编辑器(如Dreamweaver)在"设计视图"中时会被JavaScript字符串中的引用HTML弄糊涂,并尝试将其显示为页面的一部分.
该得墨忒耳定律指出你应该只给你关于直接了解对象说话.也就是说,不要执行方法链接与其他对象交谈.当您这样做时,您正在与中间对象建立不正确的链接,不恰当地将您的代码与其他代码耦合.
那很糟.
解决方案是针对您所知道的类,基本上公开简单的包装器,将责任委托给与其有关系的对象.
非常好.
但是,这似乎导致班级具有低凝聚力.它不再只是简单地对其所做的事情负责,但它也有代表在某种意义上,通过复制其相关对象的部分界面使代码更具凝聚力.
那很糟.
它真的会降低凝聚力吗?它是两个邪恶中的较小者吗?
这是发展的灰色区域之一,您可以在哪里讨论线路的位置,或者是否有强有力的,有原则的方式来决定在哪里划线,以及您可以使用哪些标准来做出决定?
我有一个无序的列表,我用于菜单.每个项目都有一个背景图像和一个:悬停图像.第一个元素的背景图像与其余元素不同,所以我使用下面的方式来设置它,它工作正常:
#prodNavBar ul:last-child li:first-child {...}
Run Code Online (Sandbox Code Playgroud)
既然我想要在这个元素上滚动图像,我也尝试添加:hover
,如下所示:
#prodNavBar ul:last-child li:first-child:hover {...}
Run Code Online (Sandbox Code Playgroud)
......但这不起作用.什么是结合语法:first-child
和:hover
?
如何将事件连接到我定义为字符串的函数名称?
我正在使用Prototype.js,虽然这不是Prototype-speficic.
$(inputId).observe('click', formData.fields[x].onclick);
Run Code Online (Sandbox Code Playgroud)
这会导致JavaScript抱怨我的处理程序不是函数.我不希望我们使用eval()
.
这看起来似乎很简单.
如何使用JavaScript覆盖以下HTML中的onclick事件?
<a id="sample" href="..." onclick="alert('hello world')" />...</a>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用jQuery,但是这并不能解决问题:
$('#sample').attr('onclick','alert("done")')
Run Code Online (Sandbox Code Playgroud)
假设HTML是预先编写的,除了使用JavaScript操作之外无法更改.
AFAIK,您永远不需要在onclick中指定协议:
onclick="javascript:myFunction()"
坏
onclick="myFunction()"
好
今天我在Google Anallytics的这篇文章中注意到他们正在使用它:
<a href="http://www.example.com" onClick="javascript: pageTracker._trackPageview('/outgoing/example.com');">
Run Code Online (Sandbox Code Playgroud)
这个例子是完全错误的,还是有理由javascript:
在除了a之外的任何东西中指定href
?
我有一个网页,我在各种DIV中多次使用h1标签,并且我为每个div设置h1的样式是合适的大小.
例如...
#content h1 {
font-size:22px;
}
#left-nav h1 {
font-size:14px;
}
#content .recent-news h1 {
font-size:16px;
}
Run Code Online (Sandbox Code Playgroud)
这好吗?我担心SEO.
最好的方法是什么?还是我什么都不担心?
从历史上看,您将使用基于像素宽度的媒体查询来确定最终用户将获得的显示内容.但是,当您使用更高分辨率的设备(如Galaxy S4(1080x1920)分辨率)时,这不会/不会起作用.
你怎么处理这个?
html ×7
css ×5
javascript ×5
cohesion ×1
coupling ×1
css3 ×1
google-api ×1
html5 ×1
oop ×1
refactoring ×1
seo ×1