我有2个标签,有2个不同的文字,我需要使用javascript编辑该文本,但问题是我无法编辑这些标签,因为它们是由库创建的,所以编辑它们的唯一方法是编辑它们一旦他们填满了价值。
这是html:
<div class="DateRangeSelector-item">
<label>Start Date</label>
<input type="date" max="2015-09-15">
</div>
<div class="DateRangeSelector-item">
<label>End Date</label>
<input type="date" max="2015-09-16">
</div>
是否可以通过Javascript检查标签何时具有值开始日期或结束日期并根据需要进行更改?
答案 0 :(得分:1)
苦苦挣扎,了解您是否要更改输入字段的值或标签本身。假设它是输入字段,取决于标签的文字:
$('.DateRangeSelector-item label').each(function() {
switch ($(this).html()) {
case 'Start Date':
$(this).next('input').val('new start value here');
break;
case 'End Date':
$(this).next('input').val('new end value here');
break;
default:
# do nothing
}
});
此时,上述代码仅适用于您的特定HTML结构,这一点毫无价值。如果更改元素的布局/顺序,除非修改第6行和第10行,否则代码可能会中断。
也许值得注意的是,元素是由Javascript创建的,您需要确保在创建元素的代码之后调用上面的代码。
如果我还没有理解你想要完成的事情,请告诉我,我会编辑我的答案。
修改强>
要更改标签值,请改用以下内容:
$('.DateRangeSelector-item label').each(function() {
switch ($(this).html()) {
case 'Start Date':
$(this).html('new start label here');
break;
case 'End Date':
$(this).html('new end label here');
break;
default:
# do nothing
}
});