在jQuery中,选择多个元素可以这样做:
$("#id1,#id2").show();
Run Code Online (Sandbox Code Playgroud)
但是当我有两个jQuery对象时,我似乎无法使用变量本身选择多个.例如:
var jqId1 = $("#id1");
var jqId2 = $("#id2");
$(jqId1).show(); // This works.
$(jqId1,jqId2).show(); // This only shows jqId1.
Run Code Online (Sandbox Code Playgroud)
见jsFiddle:http://jsfiddle.net/jr9Q2/
是否有另一种方法可以将多个jq变量指定为选择器?
当Web表单写入浏览器时,浏览器会记住文本INPUT框的初始值.即.当它像这样接收HTML时:
<input type="text" value="something">
Run Code Online (Sandbox Code Playgroud)
浏览器会记住"某事"作为初始/默认值.当用户开始在其上键入时,然后点击ESC,浏览器将该字段恢复为初始值(如果当前最初为空,则为空白).
但是,在以编程方式创建文本输入框时,按ESC键似乎总是空白,即使我使用默认值创建它,如下所示:
$('<input type="text" value="something">')
Run Code Online (Sandbox Code Playgroud)
浏览器不会将此计为默认值,并且在按ESC时不会恢复为默认值.所以我的问题是,有没有办法在代码中创建一个文本框,并以某种方式为其分配一个默认值,所以ESC键的工作方式就像浏览器在HTML文档中收到它一样?
我正在使用CKEditor 4,它似乎有一个默认设置<p></p>用于表示空行.到目前为止,我总是看到HTML中的空行<p> </p>- 即.不是空标签.
所以CKEditor的默认输出代表一个空行,例如:
<p>paragraph before blank line</p>
<p></p>
<p>paragraph after blank line</p>
Run Code Online (Sandbox Code Playgroud)
问题是,对于更改,IE7,8,9似乎将此"正确"呈现为空行,而Firefox和Chrome则不会 - 它们似乎在布局方面忽略空<p>和<div>标记.
因此,目前,我必须告诉CKEditor包含 空行(由于某种原因不是默认设置),并且在后端,替换<p>可能会漏掉的任何空标记.
我的问题是,在HTML中表示空行的黄金标准是什么?好老<p> </p>,还是其他什么?
另外,鉴于CKEditor的默认设置是空<p>行的空标记,Chrome和Firefox是否会忽略它们?或IE是错误的将它们渲染为空行,而CKEditor的默认值应该真正使用<p> </p>?
我的浏览器(即我的操作系统)应该知道我在澳大利亚以及正确的日期格式是什么.在这种情况下,d/m/y,而不是m/d/y.但是,如果我运行以下代码:
alert(new Date("21/11/1968"))
Run Code Online (Sandbox Code Playgroud)
结果是"1969年9月11日星期四".它认为月份是第一位并相应调整.
为什么是这样?答案总是使用通用格式作为日期函数的输入,还是有办法告诉浏览器期望以我的语言环境格式输入日期?
我想测试一个元素对象,看它是否有"classA" 或 "classB".例如,click()事件返回了事件target属性中的元素.我想测试这个元素,看看是否有这两个类中的任何一个.
$("#mybutton").click(function($event) {
var $el = $($event.target);
if($el.is(".classA") || $el.is(".classB")) {
// Can I do the above with 1 selector instead of two separate ones?
}
});
Run Code Online (Sandbox Code Playgroud)
如上所述,使用该is()函数,我可以单独检查每个类,但我很好奇我是否可以使用一个函数调用而不是两个函数调用?
可选参数需要默认值,但我似乎无法将默认数组分配给可选数组参数.例如:
Optional ByVal myArray As Long() = Nothing ' This works
Run Code Online (Sandbox Code Playgroud)
然而
Optional ByVal myArray As Long() = New Long() {0, 1} ' This isn't accepted.
Run Code Online (Sandbox Code Playgroud)
IDE告诉我"需要使用常量表达式"代替New Long() {0, 1}.
是否有分配默认常量数组的技巧,还是不允许?
我理解String是一个对象,而不是Int,除非你创建对象,否则对象变量通常不指向任何东西.所以我知道它是如何工作的.
但是,就简单实用的编程而言,为什么.NET不将字符串初始化为空(""),因为这肯定是字符串变量的最常见用法 - 作为字符串,而不是作为对象?
我从来没有(还)需要一个字符串为null,即"不是字符串".这似乎是一种罕见的要求.我不能说int变量是null,那么为什么用string呢?毫无疑问,将它作为一个选项是必要的,但是为什么.NET开始时为null,当int等给出正确的初始值时?
我问,因为我不仅想了解某些事情是如何运作的,而是为什么,因为它减少了我对它看起来多么奇怪的咆哮的渴望.:)
不确定这是否是在Linq实现这一目标的最佳方式.
我正在尝试选择CRM 2011中的联系人记录,其中EMailAddress1包含一个值.我尝试的以下WHERE子句都导致异常:
Where c.EMailAddress1 > ""
Where Not String.IsNullOrEmpty(c.EMailAddress1)
Run Code Online (Sandbox Code Playgroud)
所以我最终尝试了这个,这似乎工作正常:
Where Not c.EMailAddress1.Equals(String.Empty) _
And Not c.EMailAddress1.Equals(Nothing)
Run Code Online (Sandbox Code Playgroud)
但我不确定这是否是最有效的方法......它似乎并不优雅.有没有更简洁的方法来检查字符串列是否有值?
我看到很多Web应用程序具有非常相似的布局,所以我假设它们有一个共同使用的特定框架.顶部栏有这种布局:

并且有一个侧边栏,通常有点Apple风格:

有谁知道这是否是某种常见的(希望是开源的)UI框架?
我知道异常捕获可能很昂贵,但我想知道是否有些情况下它实际上比查找更便宜?
例如,如果我有一个大字典,我可以测试是否存在密钥:
If MyDictionary.ContainsKey(MyKey) Then _
MyValue = MyDictionary(MyKey) ' This is 2 lookups just to get the value.
Run Code Online (Sandbox Code Playgroud)
或者,我可以捕获一个例外:
Try
MyValue = MyDictionary(MyKey) ' Only doing 1 lookup now.
Catch(e As Exception)
' Didn't find it.
End Try
Run Code Online (Sandbox Code Playgroud)
异常捕获总是比上面的查找更昂贵,还是在某些情况下更少?
vb.net ×3
html ×2
jquery ×2
.net ×1
arrays ×1
blank-line ×1
date ×1
default ×1
input ×1
javascript ×1
linq ×1
locale ×1
placeholder ×1
string ×1