查找data *属性而不使用jquery指定标记

时间:2014-06-12 19:56:42

标签: javascript html

使用小型数据绑定javascript库,但我对javascript更新一点。有没有办法找到元素,以及定义了data-bind属性的所有封闭元素?

<form data-bind="Customer">
    <input type="text" id="name" data-bind="Name" data-bind-type="text" />
    <input type="text" id="birthday" data-bind="Birthday" data-bind-type="text" />
    <input type="text" id="address" data-bind="Address" data-bind-type="text" />
</form>

我想定义一个函数,我只传入“Customer”值,它会找到包含data-bind =“Customer”(在本例中为form)的标记,以及所有包含标记内的所有标记定义了data-bind属性。在这种情况下,它将返回所有3个输入标记,以便我可以进一步检查它们。

我用jquery看到的所有内容都表明我需要知道“form”或标签id才能做到这一点,但我不想指定标签(如表单)或id

2 个答案:

答案 0 :(得分:2)

您可以通过这种方式处理特定data-bind元素中的所有data-bind元素:

$('[data-bind="Customer"] [data-bind]');

如果要将其包装在函数中,例如,如果需要访问具有不同data-bind属性值的其他包装元素,则可以执行以下操作:

function getBoundElms(name) {
    return $('[data-bind="' + name + '"] [data-bind]');
}

答案 1 :(得分:0)

$('[data-bind="Customer"]').children('[data-bind]')

看看这个小提琴

http://jsfiddle.net/QBM5/M9eea/