jquery选择子元素的值

时间:2015-04-27 02:46:48

标签: javascript jquery

这是我的HTML,我试图抓住'链接'的价值

<li class="nav-parent nav-expanded">
   <a>
   <i class="licon-layers" aria-hidden="true"></i>
   <span>Virtual Servers</span>
   </a>
   <ul id="vms" class="nav nav-children" style="">
      <li value="0">
         <a link="i-2-20-VM">puppet-srv2</a>
      </li>
      <li value="0">
         <a link="i-2-18-VM">puppet-srv1</a>
      </li>
      <li value="0">
         <a link="i-2-24-VM">testing</a>
      </li>
   </ul>

这是我到目前为止所尝试过的,但它无效:

$("#vms").on("click", "li", function() {
   var href = $(this).children('a').find('link').attr();
    console.log(href);
});

我不确定我做错了什么,非常感谢你的帮助

1 个答案:

答案 0 :(得分:2)

您尝试使用.find('link')代码查找属性链接。由于子元素已经建立,因此只需使用.attr()捕获它。而不是那样,请尝试以下代码:

更改此内容:

var href = $(this).children('a').find('link').attr();

进入

var href = $(this).children('a').attr('link');

或者您也可以使用以下代码:

$("#vms").on("click", "li", function() {
  var href = $(this).find('a').attr('link');
   console.log(href);
});

我读了你的评论声音:

  

我正在使用它来保存VM名称的值

如果是这样,您可以为用户定义的属性添加数据属性,如下所示:

<a data-link="i-2-20-VM">puppet-srv2</a>

然后要获得它的价值,只需使用下面的.data()函数:

var href = $(this).find('a').data('link');