使用Jquery获取两个属性

时间:2016-08-25 09:48:38

标签: javascript jquery html

我使用Jquery时遇到了问题。

这是我的html标记:

 <li><a class="" value="short" tool="car" type="monov"> text </a></li>

在选择LI后,我必须捕获&#34; ttol&#34;和&#34;键入&#34; ATTR。

这是我的代码:

var selectedTool = $(this).attr('tool');
var selectedType = $(this).attr('type');

但它不起作用,它未定义......但如果我使用它:

$(this).html();

我得到:

<li><a class="" value="short" tool="car" type="monov"> text </a></li>

我如何获得这些属性?

由于

5 个答案:

答案 0 :(得分:3)

尝试以下代码:

    var $anchor = $(this).find("a");
    var selectedTool = $anchor.attr('tool');
    var selectedType = $anchor.attr('type');

您试图访问li的属性和属性&#39;工具&#39;和&#39;键入&#39;是锚定所以它未定义。

答案 1 :(得分:2)

当您要选择<li>时,您正在选择<a>

请试试这个:

var element = $(this).find("a");

var selectedTool = element.attr('tool');
var selectedType = element.attr('type');

答案 2 :(得分:0)

如果您有多个<a>标记,则此代码无法正常运行。

理想情况下,您必须以ID的形式向每个标记添加唯一标识符。或者,您可以为其指定一个类名,并根据其索引标识其中一个元素。

 <li><a class="" id="carOne"  value="short" tool="car" type="monov"> text </a></li>

然后,您可以使用JQuery获取如下属性:

$("#carOne").attr('tool');

答案 3 :(得分:0)

您必须先选择li标签中的所有标签。然后获取attr值。

您可以尝试:

$("li a").attr('tool');
$("li a").attr('type');

答案 4 :(得分:0)

  

试试这个。它的工作正常,只需点击我的小提琴中的li项目就可以将这些attr值作为警报

$("li").click(function(e) { 
    
		var selectedTool = $(this).find("a").attr('tool');
		var selectedType = $(this).find("a").attr('type');
		alert(selectedTool);
		alert(selectedType);
  
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
            <li><a href="#" class="active" tool="car" type="monov" >Home</a></li>
           
        </ul>