我在jQuery中编写了一些代码,例如:
$(".middleContent").not(this).slideUp();
(这=当前活动的.middleContent元素)
我想知道JavaScript如何知道DOM中的元素索引。
我知道每个对象都是唯一的,但是如果你有一些具有相同类的元素,它们如何区分它们?它是在所有元素的树中做它的索引,比如一个程序在RAM中有一个地址?
答案 0 :(得分:2)
每个dom元素都是一个独特的对象。 not
对当前执行上下文(this)进行比较,以确保数组中的任何元素都不等于this
。
答案 1 :(得分:2)
我认为你低估了DOM元素 unique 的含义。它不仅是当前父元素中标识DOM元素的类,标记名称或索引。每个DOM元素内部都有一个唯一的标识符,您无法访问它。浏览器使用它来在内部组织DOM。您的页面中可能有数百个看似相同的<div class="middleContent" />
元素,每个元素都有唯一的内部标识符。如果您将一个DOM元素与另一个DOM元素进行比较,浏览器将始终能够判断它是相同的元素还是一个看起来像它的元素。
this
指的是一个特定的DOM元素,因此jQuery能够从一组看似相似的元素中过滤掉它。
答案 2 :(得分:1)
DOM中的元素只是对象本身,组织成树结构,因此它们具有同一级别的下一个和上一个兄弟,他们自己的子列表,父级。从这里你可以绕着树的结构走动并操纵它。
您可以使用索引表示法获取jQuery对象内的对象:
var caption = $('#caption');
var domElement = caption[0];
然后domElement
将包含one of these。