使用jQuery获取属性值

时间:2016-12-16 15:31:16

标签: javascript jquery jquery-selectors

我正在尝试在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>

4 个答案:

答案 0 :(得分:1)

选择器可以简单地完成:

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

希望这有帮助。

&#13;
&#13;
console.log( $(".btn-causas .active input").attr('d') );
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

执行此操作的最佳方法是重命名d的{​​{1}}属性,您可以使用此代码轻松获得该值:

<强> HTML

data-name

<强> Jquery的:

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

这是最好的方法,此代码使用属性data-name

检索已检查输入广播的值

问候!

答案 2 :(得分:0)

您指定了错误的选择器.btn-causas input,而是使用此.btn-causas,请参阅以下代码:

  

让jQuery在div中找到inputs - .btn-causas而不是在输入中找到它,就像你已经完成的那样。输入不包含子元素,因此您无法在其中找到元素。

&#13;
&#13;
$(function() {
	console.log($(".btn-causas").find(".active input").attr('d'));
})
&#13;
<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>
&#13;
&#13;
&#13;

希望这有帮助!

答案 3 :(得分:0)

你没有活跃的课程,但根据我的理解,你正试图选择单选按钮&#39;属性所以尝试:检查输入