HTML5:
<menu type="list">
<li><a href="/signup/"> Sign Up </a></li>
<li><a href="/login/"> Log In </a></li>
</menu>
Run Code Online (Sandbox Code Playgroud)
我想在我的网站上添加一个注册/登录菜单。
<menu>会是语义吗?<ul>改用吗?编辑:我使用语义 HTML5。浏览器支持无关紧要。
我正在动态创建一个包含选项节点的选择节点.该代码在FF和IE8中工作正常.
但它拒绝在怪异模式或ie7兼容模式下在IE8中工作.它拒绝在IE6中工作.
选项节点确实会添加到DOM中.
var PersonnelSelectorListBox,
PersonnelSelectorDiv;
function AddListItems() {
for(var i = 1; i <= 3; i++){
$('<option />').text('Item ' + i).appendTo(PersonnelSelectorListBox);
}
}
PersonnelSelectorDiv = $("<div>").css({
position: "relative",
display: 'block',
top: 20,
zIndex: 2
});
$("#AddToList").after(PersonnelSelectorDiv);
$("#AddToList").click(function() {
//alert("click");
AddListItems();
});
PersonnelSelectorListBox = $("<select id=\"PLB\" size=\"15\">").attr({
size: 15,
id: 'PLB'
}).width(200);
PersonnelSelectorDiv.append(PersonnelSelectorListBox);
Run Code Online (Sandbox Code Playgroud)
示例代码是http://jsfiddle.net/jKmh4/3/
有谁知道如何欺骗即重新渲染DOM的一部分?
问题是通过单击事件调用AddListItems函数,而不是直接调用它.
我个人认为这样的工具允许您以声明的方式定义测试应该如何看待,然后在实际文件上运行复杂的启发式测试,以确定它与声明性定义的"接近"程度.
我不是要问几乎不可能的问题是"看起来好看",而是它看起来是否一致或是否与给定的模式相匹配.
function Entity() {
this.a = {a: 4};
this.b = 5;
}
function Thing() {}
Thing.prototype = new Entity;
var thing1 = new Thing;
thing1.a.a = 3;
thing1.b = 4;
var thing2 = new Thing;
console.log(thing2.a.a); // prints 3 instead of 4. I would like 4.
console.log(thing2.b) // prints 5 as wanted
Run Code Online (Sandbox Code Playgroud)
我在javascript中设置原型继承时遇到了困难.理想情况下,我希望thing1和thing2都拥有自己的"新实体原型"的干净副本.
使用this.__proto__是我想避免的
[编辑]
我对这是如何工作有一个大概的了解.
设置thing1.b在Thing实例上设置b属性.它不接触原型链中定义的Entity.b.
在Thing实例上设置thing1.aa的地方无法完成,因为它会抛出"无法设置未定义"错误.那是当它上升到原型链以找到定义的Entity.a并将Entity.aa设置为新值.
[进一步编辑]
正如@IvoWetzel所说设置thing1.b不会触及原型链,因为设置属性不会.设置thing1.aa的地方有两个步骤.在thing1.a上的一个getter,触及原型链,后跟一个.a的setter
比较操作时
var fat_cats = cats.slice()
Run Code Online (Sandbox Code Playgroud)
至
var fat_cats = new Array(cats.length)
Run Code Online (Sandbox Code Playgroud)
性能差异令人困惑.
在firefox和chrome new Array中速度较慢(当它应该更快时,它只是分配一个空数组而不是迭代它)
在IE8 new Array中更快(这只是令人困惑)
任何解释都赞赏.
我正在使用SQL Server 2005并以登录身份登录sa.我想查询我的数据库中的每个表是否有一个特定的列名.如果是这样,将每一行(columnNameValue = someValue)附加到结果表中.然后返回结果表.
解决方案存在一些类似的问题.值得注意的是,我可以使用sp_MSForeachTable它,但它缺乏任何类型的文档.我可以SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES用来获取所有表的列表.
以下解决方案(链接文本)将遍历每个表和每列以在单元格中查找特定值.这与在单元格IF中查找该列是某个columnName的特定值不同.
编写嵌套的while语句应该是可能的,但有没有内置的命令来运行这样的查询?
伪代码如果有帮助:
foreach(table in tableList) {
if (table.hasColumnName(SOME_COLUMN) {
EXEC ('SELECT * FROM table WHERE (SOME_COLUMN = SOME_VALUE)')
}
}
Run Code Online (Sandbox Code Playgroud)
[编辑]
而不是只有一个结果集,我希望每个表只有一个结果,只要select返回至少一行.这应该会产生大量不同的结果,因为期望加入或联合工作是不现实的.
如果可能的话,我想将tablename附加到每个结果的开头.
我在下面有一个简单的查询来获取所有结果,但它会显示空表,并且不会在各个结果中给出任何关于它属于哪个表的可视指示:
[进一步编辑]
更新了下面的查询,包括删除NULL结果的IF EXIST检查和选择名称AS源列,以便将表源添加到结果中,这要归功于@Martin
DECLARE @COLUMN_VALUE nvarchar(512), @VALUE nvarchar(10);
SET @COLUMN_VALUE = 'id'
SET @VALUE = '0';
DECLARE @TABLE_NAME nvarchar(512), @COLUMN_NAME nvarchar(512), @QUERY nvarchar(512);
SET @TABLE_NAME = '';
WHILE @TABLE_NAME IS NOT NULL
BEGIN
SET @TABLE_NAME =
(
SELECT …Run Code Online (Sandbox Code Playgroud) 是否有:not符合IE8(和怪癖模式)的css3选择器的替代品.
在css或javascript/jquery中模拟选择器或类似的东西.
我使用*:not如下.随意推荐一种避免:not完全使用的解决方案.
@media screen {
#printable {
visibility: hidden;
}
}
@media print {
*:not(#printable) {
visibility: hidden;
}
#printable {
position: absolute;
visibility: visible;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,使用:not与使用有关,@media print因此只使用简单的jQuery解决方案来应用css,$(":not(#printable)")如果不聪明就无法工作.
包括像ie9.js或selectivirz这样的整个库不是一个选项,因为它可以影响页面的各个其他部分,并涉及大量的重新测试.
一个jsfiddle,显示它在支持http://jsfiddle.net/Raynos/TjKbz/的浏览器中工作:not
我刚刚开始学习jQuery和OO Javascript,所以我想弄清楚哪个属于哪个以及它们做了什么.我在JQuery文档中遇到了这段代码
(function($sub) {
$sub // a subclass of jQuery
$sub === jQuery; //= false
$sub.fn.myCustomMethod = function(){
return 'just for me';
}
$sub(document).ready(function() {
$sub('body').myCustomMethod(); //= 'just for me'
});
})(jQuery.subclass());
Run Code Online (Sandbox Code Playgroud)
问题:
谢谢
这是node.js的end实现:
OutgoingMessage.prototype.end = function(data, encoding) {
if (this.finished) {
return false;
}
if (!this._header) {
this._implicitHeader();
}
if (data && !this._hasBody) {
console.error('This type of response MUST NOT have a body. ' +
'Ignoring data passed to end().');
data = false;
}
var ret;
var hot = this._headerSent === false &&
typeof(data) === 'string' &&
data.length > 0 &&
this.output.length === 0 &&
this.connection &&
this.connection.writable &&
this.connection._httpMessage === this;
if (hot) {
// Hot path. They're doing …Run Code Online (Sandbox Code Playgroud) var bodyRegExp = /function[\\s]+[(].+[)][\\s]+{(.+)}/;
bodyRegExp.exec("module.exports = function () { /* any content */ }");
Run Code Online (Sandbox Code Playgroud)
它不起作用.它为什么坏了?
它的意思是将函数语句的主体从源代码中拉出来.
编辑:
我是傻瓜.试图用正则表达式解析javascript是愚蠢的.
var input = document.createElement("input");
input.onclick = function (ev) {
console.log(ev.timeStamp === 0 ? "WHY IS IT ZERO" : "It's not broken");
};
input.click()
var ev = document.createEvent("Event");
console.log(ev.timeStamp === 0 ? "THIS IS MADNESS" : "At least this works");
Run Code Online (Sandbox Code Playgroud)
在firefox中,第一次0使用时间戳,并且在chrome中,时间戳是一个合理的数字.
在firefox和chrome中,第二次timeStamp是一个明智的数字.
我想从我的C#代码后面触发onresize事件.我认为这可以做到
Page.clientScript.RegisterScriptBlock(this.getType(), "id", "javascript code");
Run Code Online (Sandbox Code Playgroud)
我已经尝试过element.onresize()但它似乎不适用于Firefox.触发类似于以下jQuery的onresize事件的正确方法是什么?
$("body").trigger("resize");
Run Code Online (Sandbox Code Playgroud)
使用jQuery本身不是一种选择.
javascript ×7
html ×3
jquery ×3
css ×2
dom ×2
arrays ×1
asp.net ×1
benchmarking ×1
dom-events ×1
dom4 ×1
events ×1
http ×1
httprequest ×1
node.js ×1
onresize ×1
profile ×1
prototype ×1
prototyping ×1
regex ×1
scope ×1
sql ×1
t-sql ×1
this ×1
unit-testing ×1