不在容器内的选择器语法

时间:2015-10-15 21:31:08

标签: javascript html

我做了这个辅助函数来帮助我解决问题

function formToObject(form) {
    var items = form.querySelectorAll("[name]");
    var json = "{";
    for (var i = 0; i < items.length; i++) {
        json += '"' + items[i].name + '":"' + items[i].value + '",';
    }
    json = json.substring(0, json.length-1) + "}";
    return JSON.parse(json);
}

但它存在问题,它不会排除传递给它的表单元素内部的表单。之前没有出现,但现在似乎是必要的。有没有办法以一种方式编写选择器字符串,以便排除其中任何其他形式的子节点?

喜欢“[name]:not(form *)”(显然不起作用)

编辑:与“[name]:not(fieldset)*”稍微靠近但是也忽略了直接的fieldset子项

0 个答案:

没有答案