我有以下结构:
<input name="20735" class="form-control valid-dateonly error" id="20735" required="" type="text" maxlength="4000" placeholder="" value="">
<label class="error" style="left: 0px; white-space: nowrap; position: absolute;" for="20735">This field is required.</label>
<span class="input-group-addon">
<span class="fa fa-calendar"></span>
</span>
<div id="div_20735"></div>
基本上,我在JQuery $this
中有标签控件。现在基本上我想用id:div_20735
捕获div。如果您观察到,此20735
也是输入控件的id
,它位于标签上方。
我在猜$(this).prev().id
之类的东西......但是我没有得到。但是我得到这个值(20735),当我做$(this).prev().context.htmlfor
时...但我不认为那是最好的检索方法。
这就是我的尝试:
$('label.error').not('.hide').each(function () {
var previousElm = $(this).prev();
if ($(previousElm).hasClass("form-control")) {
$("#div_20735").after($(this));//here I need help to capture the id of the div dynamically
$(this).css({ 'position': 'absolute', 'white-space': 'nowrap', 'left':'0px' });
}
});
任何寻找最佳方式的帮助都会非常有用。 感谢。
答案 0 :(得分:1)
试试这个 - 它需要for
属性值,这是你需要的
$('label.error').not('.hide').each(function () {
var previousElm = $(this).prev();
if ($(previousElm).hasClass("form-control")) {
var divID = $(this).attr('for');
$("#div_" + divID).after($(this));//here I need help to capture the id of the div dynamically
$(this).css({ 'position': 'absolute', 'white-space': 'nowrap', 'left':'0px' });
}
});
答案 1 :(得分:0)
这个$("#div_" + previousElm.attr('name'))
可以解决问题:
$('label.error').not('.hide').each(function () {
var previousElm = $(this).prev();
if ($(previousElm).hasClass("form-control")) {
$("#div_" + previousElm.attr('name')).after($(this));//here I need help to capture the id of the div dynamically
$(this).css({ 'position': 'absolute', 'white-space': 'nowrap', 'left':'0px' });
}
});