jQuery Dom 数字

发布于 2024-12-22 12:02:04 字数 19 浏览 0 评论 0原文

如何从dom中获取元素?

How do you get element from dom?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执手闯天涯 2024-12-29 12:02:04

我猜你正在寻找通用选择器 *

  //retrieve the index
$('*').index($('button'));
  //access the element by index
$('*:eq('+index+')');

I guess you are looking for the universal-selector *

  //retrieve the index
$('*').index($('button'));
  //access the element by index
$('*:eq('+index+')');
︶ ̄淡然 2024-12-29 12:02:04

如果您只想唯一标识 DOM 中的某个元素,并能够在将来返回到同一个 DOM 元素,那么只需直接保存对该元素的引用即可。您不必通过一些从文档开头开始计数的奇怪选择器来获取元素,您只需保存对实际元素的引用即可。例如:

var lastClickedItem;

$("div").click(function() {
    if (lastClickedItem) {
        $(lastClickedItem).removeClass("clicked");
        // do other things to the last clicked item
    }
    $(this).addClass("clicked");
    lastClickedItem = this;
});

此代码将 lastClickedItem 保存在全局变量中。您甚至不必将其保存在全局变量中。您只需给它一个唯一的 ID 或类名,就可以使用它检索给定的元素。从 DOM 的前面开始计数返回到同一个元素似乎效率很低。

或者,使用唯一的类名:

$("div").click(function() {
     $(".lastClick").removeClass("lastClick");
     $(this).addClass("lastClick");
});

If you just want to uniquely identify an element in the DOM and be able to get back to the same DOM element in the future, then just save the reference to the element directly. You don't have to get an element back via some odd selector that counts from the beginning of the document, you can just save the reference to the actual element. For example:

var lastClickedItem;

$("div").click(function() {
    if (lastClickedItem) {
        $(lastClickedItem).removeClass("clicked");
        // do other things to the last clicked item
    }
    $(this).addClass("clicked");
    lastClickedItem = this;
});

This code saves the lastClickedItem in a global variable. You wouldn't even have to save it in a global variable. You could just give it a unique ID or class name and be able to retrieve the given element using that. Counting from the front of the DOM to get back to the same element seems pretty inefficient.

Or, using a unique class name:

$("div").click(function() {
     $(".lastClick").removeClass("lastClick");
     $(this).addClass("lastClick");
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文