javascript - 使用 javascript、mootools 获取 HTML 元素对象

标签 javascript mootools element mootools1.2

请检查下面我的 HTML:

<table cellpadding="0" cellpadding="0" border="0">
    <tr>
        <td>
            <div class="toogler">Demo1</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="element">Demo1 Content</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="toogler">Demo1</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="element">Demo1 Content</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="toogler">Demo2</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="element">Demo2 Content</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="toogler">Demo3</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="element">Demo3 Content</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="toogler">Demo4</div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="element">Demo4 Content</div>
        </td>
    </tr>
</table>

这是我的 JS 代码:

<script type="text/javascript" language="javascript">
    $$('.toogler').each(function(e){
        alert(e);
        // this will alert all the toogler div object

    });
</script>

我的问题是如何获取下一个带有类元素的div的对象

如果我有第一个 toogler 的对象,那么我怎样才能得到下一个第一个 div 的对象,哪个类是“元素”

我不想给元素id

最佳答案

如果您不能按照 oskar 的建议(最好的情况)更改 html 输出和重构,则此方法有效:

e.getParent().getParent().getNext().getFirst().getFirst() - 它会返回下一个 div,但速度很慢。

不幸的是,表格打破了 .getNext("div.element") 因为它不是兄弟。

另一种可行的方法是这样(如果它们的长度匹配)——如果将引用作为 1-off 放入元素存储中,速度会快得多:

var tooglers = $$("div.toogler"), elements = $$("div.element");
tooglers.each(function(el, i) {
    console.log(elements[i]);
    el.store("contentEl", elements[i]);
});

不过我不喜欢这两种解决方案,因为它们不够可维护/可扩展。

关于javascript - 使用 javascript、mootools 获取 HTML 元素对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424656/

相关文章:

javascript - chrome 扩展程序中的后台脚本究竟何时运行?

javascript - typeof 函数声明与函数表达式

javascript - 更改 mootools 表单验证器的默认错误消息

silverlight - 如何确定鼠标光标是否在给定的 uielement 上?

c++ 将 vector 中出现 n 次的所有元素作为 vector 返回

javascript - 在 forEach 中使用条件语句时,如何检测每个 child 是否都未满足条件?

javascript - 手动关闭 getDisplayMedia 的 native 屏幕选择器

Mootools 获得二级名称

javascript - Mootools选择器问题

Javascript element.style.opacity 未定义。为什么?