无法使用jquery找到我的span标记

时间:2016-09-13 20:36:37

标签: javascript jquery html css

我认为使用最接近的DOM会发现DOM下去不是吗?

我正在尝试在输入具有焦点时找到span元素。当焦点正确但无法找到范围时,我能够获得输入的值。

在我的HTML中我有类似的东西

              <div class="form-group">
                  <label for="card-holder-name">Card Holder Name: <span>eafsdafasdf</span></label>
                  <input type="text" class="form-control card-holder-name" id="card-holder-name">
              </div>
在jquery中

$(".card-holder-name").on('focusout', function(){
var inputValue = $(this).val();
console.log($(this).closest('label').find('span').text();

});

我尝试使用console.log($(this).closest('label').text());找到标签,但没有运气。

我在这里做错了什么?

提前致谢

2 个答案:

答案 0 :(得分:4)

.closest() 确实上了DOM,但是你正在尝试对抗兄弟姐妹。

在这种情况下使用.prev()

$(this).prev('label').find('span').text()

jsFiddle example

答案 1 :(得分:1)

您更正了,$.closest()遍历DOM并$.find()遍历。但是,您遇到的问题是label[for='card-holder-name']兄弟input.card-holder-name

对于您正在使用的特定HTML,您可以使用$(this).prev("label")$(this).parent().find("label")