javascript - 获取所有父级并将它们存储在字符串中

标签 javascript jquery

<form class="register">
    <div class="form-group">
        <input type="submit" value="Signup" class="btn btn-submit" />
    </div>
    <div class="form-group needAccount" id="req_val">
        <a href="#" class="toggleForms">Login from here</a>
    </div>
</form>

现在我想遍历这个表单并获取最后一个 div#req_val 的所有父级,因此输出应该是一个字符串,即

form.register div.form-group.needAccount#req_val

最佳答案

您可以使用 .parents() 遍历父级并自行生成。请参阅下面的示例实现:

// returns <tag-name>[.<class1>[.<class2>] ...][#<id>] for the passed element
function getSelector(_elem) {
    var parts = [_elem.tagName].concat(_elem.className.split(/\s+/).map(function(_class) {
        return (_class ? '.' + _class : '');
    }));
    _elem.id && parts.push('#' + _elem.id);
    return parts.join('');
}

var elem = $('#req_val'), parents = elem.parents(), str = [];
parents.each(function() { // add parents
   str.unshift(getSelector(this)); // unshift since parents() gives you the nearest parent first
});
str.push(getSelector($('#req_val')[0])); // add self
str = str.join(' '); // join with space

console.log(str);

演示:http://jsfiddle.net/wu41vwuf/

关于javascript - 获取所有父级并将它们存储在字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119822/

相关文章:

javascript - html 视频之间的转换

如果字段为空,则需要 Jquery 验证下拉列表

javascript - 搜索特定文本的类并返回条目号

javascript - 我应该如何在 JavaScript 中注释对象结构?

javascript - Spring Boot 没有正确加载 CSS 和 JS 文件

javascript - event.target.name 给出未定义

javascript - 我怎样才能去掉签名板上的中间线

javascript - 如何将输入定位在屏幕底部?

javascript - 通过 javascript 切换 ionic 侧边菜单

jQuery 在有 2 个时选择 div。