是否有关于嵌套label和inputHTML元素的最佳实践?
经典方式:
<label for="myinput">My Text</label>
<input type="text" id="myinput" />
Run Code Online (Sandbox Code Playgroud)
要么
<label for="myinput">My Text
<input type="text" id="myinput" />
</label>
Run Code Online (Sandbox Code Playgroud) 网上有足够的关于HTML5的信息(以及stackoverflow),但现在我对"最佳实践"感到好奇.section/headers/article之类的标签是新的,每个人对于何时/何地使用这些标签都有不同的看法.那么你们怎么看待以下布局和代码?

1 <!doctype html>
2 <head>
3 <title>Website</title>
4 </head>
5
6 <body>
7 <section>
8 <header>
9 <div id="logo"></div>
10 <div id="language"></div>
11 </header>
12
13 <nav>
14 <ul>
15 <li>menu 1</li>
16 <li>menu 2</li>
17 <li>menu 3</li>
18 <li>menu 4</li>
19 <li>menu 5</li>
20 </ul>
21 </nav>
22
23 <div id="main">
24 <div id="main-left">
25 <article>
26 <header><h1>This is a title</h1></header>
27
28 <p>Lorem ipsum dolor sit amet, consectetur
29 adipiscing elit. Quisque semper, leo eget</p>
30
31 …Run Code Online (Sandbox Code Playgroud) 除了非持久性和仅限于当前窗口的范围之外,对本地存储的会话存储有任何好处(性能,数据访问等)吗?
我想将一个div添加到另一个div中.
<div id="outerDiv">
<div id="innerDiv">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我目前使用的CSS.
#outerDiv{
width: 500px;
height: 500px;
position:relative;
}
#innerDiv{
width: 284px;
height: 290px;
position:absolute;
top: 50%;
left:50%;
margin-top: -147px;
margin-left: -144px;
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我现在使用的方法取决于宽度和高度的值innerDiv.如果宽度/高度发生变化,我将不得不修改margin-top和值.margin-left是否有任何通用的解决方案,我可以用它来居中,innerDiv无论是什么它的大小?
我发现使用margin:auto可以将innerDiv水平对齐到中间.但是垂直中间的那个呢?
使用之间$.data和$.attr使用时的使用data-someAttribute有何不同?
我的理解是$.data存储在jQuery中$.cache,而不是DOM中.因此,如果我想$.cache用于数据存储,我应该使用$.data.如果我想添加HTML5数据属性,我应该使用$.attr("data-attribute", "myCoolValue").
由于localStorage(当前)仅支持字符串作为值,并且为了做到这一点,对象需要在存储之前进行字符串化(存储为JSON字符串),是否存在关于值的长度的定义限制.
有谁知道是否有适用于所有浏览器的定义?
localStorage,sessionStorage,session和cookies的技术优势和缺点是什么?我何时使用其中一个?
的XMLHttpRequest的2级标准(还是工作草案)定义FormData的接口.此接口允许将File对象附加到XHR请求(Ajax请求).
顺便说一句,这是一个新功能 - 在过去,使用了"隐藏iframe技巧"(在我的另一个问题中阅读).
这就是它的工作原理(例子):
var xhr = new XMLHttpRequest(),
fd = new FormData();
fd.append( 'file', input.files[0] );
xhr.open( 'POST', 'http://example.com/script.php', true );
xhr.onreadystatechange = handler;
xhr.send( fd );
Run Code Online (Sandbox Code Playgroud)
where input是一个<input type="file">字段,handler是Ajax请求的成功处理程序.
这在所有浏览器中都很漂亮(除了IE之外).
现在,我想使这个功能与jQuery一起使用.我试过这个:
var fd = new FormData();
fd.append( 'file', input.files[0] );
$.post( 'http://example.com/script.php', fd, handler );
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用(抛出"非法调用"错误 - 截图在这里).我假设jQuery需要一个表示form-field-names/values的简单键值对象,而FormData我传入的实例显然是不兼容的.
现在,由于可以将FormData实例传入xhr.send(),我希望它也可以使它与jQuery一起使用.
更新:
我在jQuery的Bug Tracker上创建了一个"功能票".它在这里:http://bugs.jquery.com/ticket/9995
我被建议使用"Ajax prefilter"...... …
是否可以通过HTML5数据属性选择CSS中的元素(例如data-role)?