首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问HTML标记的不同元素

访问HTML标记的不同元素
EN

Stack Overflow用户
提问于 2015-03-16 18:33:38
回答 1查看 30关注 0票数 1

我有个按钮:

代码语言:javascript
复制
<a href="#" id="form-submit" class="btn btn-primary btn-lg ladda-button" 
data-style="contract" data-size="l">
    <span class="ladda-label">TESTLABEL</span>
</a>

我试图通过IF语句访问其中的文本:TESTLABEL。我可以这样修改文本:

代码语言:javascript
复制
$('#form-submit').text('GO').button("refresh");

但是这个if/ each语句每次运行第一组代码--从来不运行else if部分。

代码语言:javascript
复制
console.log($('#form-submit').text());

if ($('#form-submit').text('TESTLABEL')) {
    $('#form-submit').text('GO').button("refresh");
} 
else if ($('#form-submit').text('GO')) {
    //do other code...
}

当我点击这个按钮时,文本就是TESTLABEL,一旦我点击它,它就会改变。当我再次单击时,console.log告诉我这个按钮的文本是GO,但是第一个if语句仍然运行,就好像它的文本是TESTLABEL一样。我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 18:38:02

首先,文本位于span元素内的#form-submit元素中,因此您应该使用$('#form-submit span')$('#form-submit .ladda-label')来选择它。

其次,在if语句中,您使用的是text()方法的setter版本。这将始终等同于true,因为该方法返回jQuery对象。相反,使用getter。试试这个:

代码语言:javascript
复制
var $button = $('#form-submit')
var $label = $button.find('span');
if ($label.text() == 'TESTLABEL') {
    $label.text('GO');
    $button.button("refresh");
} 
else if ($label.text() == 'GO') {
    //do other code...
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29084390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档