Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JQuery中使用octothorpe(#)指定对象_Jquery_Syntax - Fatal编程技术网

在JQuery中使用octothorpe(#)指定对象

在JQuery中使用octothorpe(#)指定对象,jquery,syntax,Jquery,Syntax,我有一天开始学习JQuery,对OctorThorpe语法有一个问题 我知道#可以用来指定对象的ID 例如: HTML对象 <div id="myDiv">...</div> 然而,我注意到我可以不用#完成同样的事情 不使用# 我更喜欢不包含引号和octothorpe的语法,但我不确定这样做是否会被视为不好的做法/习惯 我应该接受它并坚持使用octothorpe语法,还是这真的是一个偏好的问题 hmmm,省略#和引号会破坏我的计算机上的jQuery选择器……我会查看您页

我有一天开始学习JQuery,对OctorThorpe语法有一个问题

我知道#可以用来指定对象的ID

例如:

HTML对象

<div id="myDiv">...</div>
然而,我注意到我可以不用#完成同样的事情

不使用#

我更喜欢不包含引号和octothorpe的语法,但我不确定这样做是否会被视为不好的做法/习惯

我应该接受它并坚持使用octothorpe语法,还是这真的是一个偏好的问题

hmmm,省略#和引号会破坏我的计算机上的jQuery选择器……我会查看您页面上的源代码,并确保您的浏览器没有使用代码中仍带有“#”的页面缓存版本

据我所知,$(mydiv)将选择文档中的任何标记,其中可能没有=D

Andy

hmmm,省略#和引号会破坏我计算机上的jQuery选择器…我会查看您页面上的源代码,并确保您的浏览器没有使用代码中仍有“#”的页面缓存版本

据我所知,$(mydiv)将选择文档中的任何标记,其中可能没有=D


Andy

引用DOM元素是一种非常糟糕的做法,也是一种极不可靠的方法

以以下为例:

var myDiv = 'blahblahblah';

$(myDiv).hide();
这将转化为:

$('blahblahblah').hide();
这不是你想要的

$('#myDiv').hide()将始终有效


在JavaScript范围内显示元素ID也是一种非标准的传统;所以不要依赖它

引用DOM元素是一种非常糟糕的做法,也是一种极不可靠的方法

以以下为例:

var myDiv = 'blahblahblah';

$(myDiv).hide();
这将转化为:

$('blahblahblah').hide();
这不是你想要的

$('#myDiv').hide()将始终有效


在JavaScript范围内显示元素ID也是一种非标准的传统;所以不要依赖它

后面的语句之所以有效,是因为您有一个myDiv变量,或者因为您在with语句中,或者类似的东西。它在正常情况下不工作。所以要回答你的问题,你需要一直使用第一个语法。。。除非您碰巧有一个变量,如:

var myDiv = document.getElementById("myDiv");


哦,我差点忘了:一些浏览器有效地将代码包装在with语句中;我完全忘了是哪个浏览器,但我认为IE是唯一一个这样做的浏览器。因此,您可能实际上没有var或with语句,但在幕后,您的浏览器正在添加一个var或with语句(这意味着您的代码只能在该浏览器上运行,而不能在其他浏览器上运行)。

您后面的语句只能在您有myDiv变量,或者因为您在with语句中,或者类似的情况下工作。它在正常情况下不工作。所以要回答你的问题,你需要一直使用第一个语法。。。除非您碰巧有一个变量,如:

var myDiv = document.getElementById("myDiv");


哦,我差点忘了:一些浏览器有效地将代码包装在with语句中;我完全忘了是哪个浏览器,但我认为IE是唯一一个这样做的浏览器。因此,您可能实际上没有var或with语句,但在幕后,您的浏览器正在添加一个var或with语句(这意味着您的代码只能在该浏览器上工作,而不能在其他浏览器上工作)。

如果您将变量设置为div,则将使用显示的第二种方法,例如

var myDiv = $('#myDiv');


如果将变量设置为div,则将使用显示的第二种方法,例如

var myDiv = $('#myDiv');


好吧,像上一个例子中那样插入
myDiv
依赖于浏览器的细微差别,并且可能会在某些浏览器中中断


我理解的是另一个问题,如果在代码的某个地方实际定义了一个变量
var myDiv=“foo”或者什么的。至少,使用
#myDiv
语法,您可以明确表示希望通过ID选择某个内容。

AFAIK,像上一个示例中那样插入
myDiv
,有点依赖于浏览器的细微差别,并且可能会在某些浏览器中中断


我理解的是另一个问题,如果在代码的某个地方实际定义了一个变量
var myDiv=“foo”或者什么的。至少,使用
#myDiv
语法,您明确表示希望通过ID选择某个对象。

我怀疑您确实在某处将
myDiv
作为变量。是的;“myDiv”是我的id,如我的示例的第一部分所示。那么字符串值为
'#myDiv'
myDiv
与直接使用字符串
'#myDiv'
有什么区别吗?@BoltClock:我不确定我是否理解你的问题。我问题的核心是,当我希望引用对象/元素的ID(在jquery中)时,是否应该“始终”使用#语法。我的问题源于这样一个事实:当我引用一个元素时,无论是否使用#语法,我都能够成功地隐藏它。在答案的帮助下,我现在知道使用#语法显式引用对象的ID,而不是可能命名为“myDiv”的“any”变量。我怀疑您实际上在某处有
myDiv
作为变量。是的;“myDiv”是我的id,如我的示例的第一部分所示。那么字符串值为
'#myDiv'
myDiv
与直接使用字符串
'#myDiv'
有什么区别吗?@BoltClock:我不确定我是否理解你的问题。我问题的核心是,当我希望引用对象/元素的ID(在jquery中)时,是否应该“始终”使用#语法。我的问题源于这样一个事实:当我引用一个元素时,无论是否使用#语法,我都能够成功地隐藏它。借助于