2016-12-16 77 views
0

我试图在jQuery中获取属性值,但不工作,我的代码报告未定义。这里有一个例子:使用jQuery获取属性值

console.log($(".btn-causas input").find(".active input").attr('d'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="btn-group btn-causas" data-toggle="buttons"> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="security_alert">Security 
 
    </label> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="strike">Strike 
 
    </label> 
 
    <label class="btn btn-info active"> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="dontknow">I DON'T 
 
    </label> 
 
</div>

+2

您没有任何''标签有'<元素类= “活动”>'里面...... – Dekel

+1

'.find()'查找* decendants *元素的指定。因此,通过执行'$(input).find('.active')'你正在寻找*'input'中的'.active'元素*。因为这不存在,你会得到一个'undefined'。 – Santi

回答

1

的选择可以等来简单地完成。

console.log($(".btn-causas .active input").attr('d'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn-group btn-causas" data-toggle="buttons"> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="security_alert"> Security 
 
    </label> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="strike"> Strike 
 
    </label> 
 
    <label class="btn btn-info active"> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="dontknow"> I DON'T 
 
    </label> 
 
</div>

0

你指定错误选择.btn-causas input,而不是使用这个.btn-causas,请参见下面的代码:

请jQuery的找到inputs内格 - 如你所做的那样,而不是在输入内部找到它。输入不包含子元素,因此您无法在其中找到元素。

$(function() { 
 
\t console.log($(".btn-causas").find(".active input").attr('d')); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn-group btn-causas" data-toggle="buttons"> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="security_alert"> Security 
 
    </label> 
 
    <label class="btn btn-info "> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="strike"> Strike 
 
    </label> 
 
    <label class="btn btn-info active"> 
 
    <input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" d="dontknow"> I DON'T 
 
    </label> 
 
</div>

希望这有助于!

$(".btn-causas .active input").attr('d'); 

希望这有助于:

0

您没有主动类但按我的理解,你试图让选择单选按钮特性,以便尝试:检查输入

1

做的最好的方法这是您重命名属性ddata-name,你可以得到很容易与此代码值:

HTML:

<input type="radio" name="options" id="optiond1" class="btncauses" autocomplete="off" data-name="dontknow"> 

的Jquery:

var value = $('input[name="options"]:checked').data('name'); 
alert(value); 

这是为了做到这一点,该代码检索核对输入无线电的值与属性数据名称

问候的最佳途径!