标签: traversal

使用jQuery迭代元素属性

我知道可以使用该attr()方法检索单个属性,但我正在尝试迭代元素的所有属性.对于上下文,我在一些XML上使用jQuery ...

<items>
  <item id="id123" name="Fizz" value="Buzz" type="xyz">
    <subitem name="foo">
    <subitem name="bar">
  </item>
  <item id="id456" name="Bizz" value="Bazz" type="abc">
    <subitem name="meh">
    <subitem name="hem">
  </item>
</items>
Run Code Online (Sandbox Code Playgroud)

我已经能够用...迭代这些项目了...

$(xml).find('item').each(function() {
  // Do something to each item here...
});
Run Code Online (Sandbox Code Playgroud)

但我希望能够为每个"项目"获取一系列属性,以便我可以迭代这些...

例如

$(xml).find('item').each(function() {
  var attributes = $(this).attributes(); // returns an array of attributes?
  for (attribute in attributes) {
    // Do something with each attribute...
  }
});
Run Code Online (Sandbox Code Playgroud)

我已经在jQuery文档中进行了一些搜索,在谷歌的其他地方进行了搜索,但没有运气.如果没有别的,我可能只是在排除与attr()jQuery对象的方法相关的结果时遇到问题.提前致谢.

xml jquery dom traversal

46
推荐指数
2
解决办法
5万
查看次数

jquery用class查找下一个元素

我正在尝试用一类"错误"找到下一个元素并撞墙.

在查看jQuery网站上的演示时,这应该可以,但不是.

$("button[disabled]").next().text("this button is disabled");

<div>
   <button disabled="disabled">First</button>
   <span>no overwrite</span>
   <span class="error"></span>
</div>

<div>
   <button>Second</button>
   <span></span>
</div>

<div>
   <button disabled="disabled">Third</button>
   <span>no overwrite</span>
   <span class="error"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到有问题的元素之后的span或div或其他内容,例如上面的按钮.

所以禁用的按钮行应该显示'没有覆盖此按钮被禁用'

我试过了

$("button[disabled]").next(".error").text("this button is disabled");

无济于事.

jquery dom traversal next

40
推荐指数
2
解决办法
9万
查看次数

迭代DFS与递归DFS和不同元素顺序

我编写了一个递归DFS算法来遍历图:

void Graph<E, N>::DFS(Node n)
{
    std::cout << ReadNode(n) << " ";

    MarkVisited(n);

    NodeList adjnodes = Adjacent(n);

    NodeList::position pos = adjnodes.FirstPosition();

    while(!adjnodes.End(pos))
    {
        Node adj = adjnodes.ReadList(pos);

        if(!IsMarked(adj))
            DFS(adj);

        pos = adjnodes.NextPosition(pos);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我用堆栈编写了迭代DFS算法:

template <typename E, typename N>
void Graph<E, N>::IterativeDFS(Node n)
{
    Stack<Node> stack;

    stack.Push(n);

    while(!stack.IsEmpty())
    {
        Node u = stack.Read();

        stack.Pop();

        if(!IsMarked(u))
        {
            std::cout << ReadNode(u) << " ";

            MarkVisited(u);

            NodeList adjnodes = Adjacent(u);

            NodeList::position pos = adjnodes.FirstPosition();

            while(!adjnodes.End(pos))
            {
                stack.Push(adjnodes.ReadList(pos));

                pos = adjnodes.NextPosition(pos);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm traversal graph depth-first-search

40
推荐指数
1
解决办法
4万
查看次数

在特定元素之前和之后查找元素

我有一个列表,其中包含我使用标签的链接.它看起来像这样:

<ul>
    <li><a href="#">First tab</a></li>
    <li><a href="#">Second tab</a></li>
    <li class="active"><a href="#">Active tab</a></li>
    <li><a href="#">Fourth tab</a></li>
    <li><a href="#">Fifth tab</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何在活动选项卡之前和之后找到列表元素?(在这种情况下,第二个和第四个选项卡).

尝试使用查找,没有成功:(

jquery traversal

38
推荐指数
1
解决办法
5万
查看次数

你如何在STL列表中向后迭代?

我正在Windows和Mac之间编写一些跨平台代码.

如果list :: end()"返回一个迭代器来解决列表中最后一个元素之后的位置"并且可以在向前遍历列表时进行检查,那么向后遍历的最佳方法是什么?

此代码适用于Mac但不适用于Windows(不能超出第一个元素):

list<DVFGfxObj*>::iterator iter = m_Objs.end();
for (iter--; iter!=m_Objs.end(); iter--)// By accident discovered that the iterator is circular ?
{
}
Run Code Online (Sandbox Code Playgroud)

这适用于Windows:

list<DVFGfxObj*>::iterator iter = m_Objs.end();
    do{
        iter--;
    } while (*iter != *m_Objs.begin());
Run Code Online (Sandbox Code Playgroud)

是否有另一种可以在for循环中实现的向后遍历方法?

c++ iterator stl traversal list

34
推荐指数
5
解决办法
5万
查看次数

如何遍历/迭代STL Map?

需要知道如何遍历stl地图.我不想用它的钥匙.我不关心排序,只是一种访问它包含的所有元素的方法.有没有办法做到这一点?

c++ dictionary stl traversal

34
推荐指数
4
解决办法
4万
查看次数

Python os.walk +关注符号链接

如何让这篇文章在python 2.6中遵循符号链接?

def load_recursive(self, path):
    for subdir, dirs, files in os.walk(path):
        for file in files:
            if file.endswith('.xml'):
                file_path = os.path.join(subdir, file)
                try:
                    do_stuff(file_path) 
                except:
                    continue
Run Code Online (Sandbox Code Playgroud)

python symlink traversal directory-traversal symlink-traversal

32
推荐指数
1
解决办法
2万
查看次数

对角线条中的导线矩阵

我认为这个问题有一个简单的解决方案,几个for循环和一些花哨的计数器,但显然它更复杂.

所以我的问题是,你如何编写(在C中)对角线条中方形矩阵的函数遍历.

例:

1  2  3
4  5  6
7  8  9
Run Code Online (Sandbox Code Playgroud)

必须按以下顺序遍历:

[1],[2,4],[3,5,7],[6,8],[9]
Run Code Online (Sandbox Code Playgroud)

上面的每个条带都用方括号括起来.其中一个要求是能够区分条带.这意味着你知道什么时候开始新的条带.这是因为我必须为条带中的每个项目调用另一个函数,然后在新条带的开头之前调用.因此,没有代码重复的解决方案是理想的.

c algorithm traversal matrix

31
推荐指数
4
解决办法
4万
查看次数

更快到os.walk还是glob?

我在大型硬盘上乱码python中的文件查找.我一直在看os.walk和glob.我经常使用os.walk,因为我发现它更整洁,似乎更快(对于通常的大小目录).

有没有人对他们有任何经验,可以说哪个更有效率?正如我所说,glob似乎更慢,但你可以使用通配符等,就像walk一样,你必须过滤结果.以下是查找核心转储的示例.

core = re.compile(r"core\.\d*")
for root, dirs, files in os.walk("/path/to/dir/")
    for file in files:
        if core.search(file):
            path = os.path.join(root,file)
            print "Deleting: " + path
            os.remove(path)
Run Code Online (Sandbox Code Playgroud)

要么

for file in iglob("/path/to/dir/core.*")
    print "Deleting: " + file
    os.remove(file)
Run Code Online (Sandbox Code Playgroud)

python glob traversal os.walk directory-walk

29
推荐指数
2
解决办法
2万
查看次数

从预订单和后序列表重建树

考虑这样一种情况:你有两个节点列表,其中你知道的一个是一个树的前序遍历的表示,另一个是同一树的后序遍历的表示.

我相信可以从这两个列表中精确地重建树,我想我有一个算法来做,但还没有证明.由于这将成为硕士项目的一部分,我需要绝对确定它是可能的和正确的(数学证明).然而,它不会是项目的重点,所以我想知道是否有一个来源(即纸张或书籍)我可以引用证明.(也许在TAOCP?有人可能知道这部分吗?)

简而言之,我需要在可引用资源中使用经过验证的算法,该算法可以从其前后顺序遍历中重构树.


注意:有问题的树可能不是二元的,或者是平衡的,或者任何使它太容易的东西.

注意2:仅使用预订单或后序列表会更好,但我认为不可能.

注3:节点可以有任意数量的子节点.

注4:我只关心兄弟姐妹的顺序.当只有一个孩子时,左或右并不重要.

language-agnostic algorithm tree traversal reference

25
推荐指数
2
解决办法
5万
查看次数