使用data- *设置内部子项

时间:2016-10-24 20:09:04

标签: javascript jquery html

我想知道如何使用父div的data-*属性在子div中设置占位符。

我正在修改表单,并且在编辑div本身的代码时受到一定限制,所以我需要使用JavaScript来添加必要的属性。

一些信息:

  • 父和子div没有唯一的ID或类,这使得getElementBy...().placeholder="blahblah";无法实现直截了当的方法
  • 层次结构的格式以及各个类和ID在表单的所有字段中全局共享。它们都有一个父div(类定义框的宽度),以及3个子div(“aaa - label”,“bbb - editor”,“ccc - validation”)
  • 父div确实有一个data-field我可以使用,因为必要的占位符取决于输入的类型(DOB,SSN等)

我有没有办法获得data-* 名称并为其子项分配占位符?我知道您可以使用data-*获取getAttribute('data-field');属性,但是如何指定附加到它的名称值?

如何专门定位data-field="SSN",然后将占位符分配给包含在其中的子div中的class="bbb"

2 个答案:

答案 0 :(得分:0)

这是你在上一个问题中描述的内容吗?

$('*[data-field="SSN"]').children().find('.bbb');

"找到数据字段等于SSN的任何节点,然后为其子节点找到一个分类为bbb" ?

答案 1 :(得分:0)

那么标记会是这样吗?

<div data-field="SSN">
    <label for="text" class="aaa">label</label>
    <input type="text" class="bbb">
    <span class="ccc">validation</span>
</div>

如果是,那么您可能想要使用它:

$('div[data-field="SSN"]').children('.bbb').prop('placeholder', 'some_text_here');

小提琴:here