attr()返回未定义

时间:2019-02-19 11:01:36

标签: jquery

我正在属性中设置一个值,但检索时它会给我undefined

$(document).ready(function() {
  $("#search_field").attr("selectedvale", 'dsds')
  var aaa = $("#search_field").attr("selectedvale");
  alert(aaa)
});
body {
  padding: 5px;
}

label {
  font-weight: bold;
}

input[type=text] {
  width: 20em
}

p {
  margin: 1em 0 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<label for="search_field">Address</label>
<input type='text' class='address_field' />

https://jsfiddle.net/cq42h17p/

4 个答案:

答案 0 :(得分:0)

HTML中没有ID为$("#search_field").attr(<anything>); 的元素,因此

undefined

将始终返回.attr(并且尝试设置不存在的元素的docker swarm init 不会在jQuery中引发错误-它只会做任何事情)。

答案 1 :(得分:0)

您的标签还没有id称为search_field。这样您得到undefined。您可以使用如下所示的直接标记来代替id,以获得自己的价值。

$(document).ready(function() {
  $("label").attr("selectedvale", 'dsds')
  var aaa = $("label").attr("selectedvale");
  alert(aaa)
});
body {
  padding: 5px;
}

label {
  font-weight: bold;
}

input[type=text] {
  width: 20em
}

p {
  margin: 1em 0 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<label for="search_field">Address</label>
<input type='text' class='address_field' />

答案 2 :(得分:0)

尝试此解决方案:

$(document).ready(function() {
  $(".address_field").data("selectedvale", 'dsds')
  var aaa = $(".address_field").data("selectedvale");
  alert(aaa)
});
body {
  padding: 5px;
}

label {
  font-weight: bold;
}

input[type=text] {
  width: 20em
}

p {
  margin: 1em 0 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<label for="search_field">Address</label>
<input type='text' class='address_field' />

答案 3 :(得分:0)

将id =“ search_field”添加到标签或输入

<label for="search_field" id="search_field">Address</label>
<input type='text' class='address_field' />

其余的