Javascript在LI标签中获取Element

时间:2013-04-10 18:48:57

标签: javascript

我有li看起来像:

<li temp="true">HELLO</li>

我如何得到&#34; temp&#34;所以我可以操纵&#34; HELLO&#34;在JS ...我知道如何通过id甚至className

3 个答案:

答案 0 :(得分:5)

支持浏览器(即除古代IE之外的任何东西):

var li = document.querySelector("li[temp=true]");

如果需要支持旧IE,请尝试:

var li = document.querySelector ? document.querySelector("li[temp=true]")
  : (function() {
      var lis = document.getElementsByTagName('li'), l = lis.length, i;
      for( i=0; i<l; i++) {
          if( lis[i].getAttribute("temp") == "true") return lis[i];
      }
      return false;
  })();

答案 1 :(得分:0)

在jQuery中,您可以使用属性选择器:

$('li[temp="true"]');

或者,您可以将document.querySelectorAll()方法用于本机JS解决方案。但是,您应该了解这种跨浏览器的含义:

var ele = document.querySelectorAll('li[temp="true"]');

您可以看到上述jsFiddle Demo

另外,您应该使用data-属性来存储HTML元素的自定义属性,例如正确的语法应该是:

<li data-temp="true">HELLO</li>

答案 2 :(得分:0)

迭代所有李。

var li = document.getElementsByTagName("li");
var found;
for(var i=0; i< li.length;i++){

    if(li[i].getAttribute("temp") == "true"){
       found = li[i]; break;
   }
}

console.log(found);

OR 您可以使用本机查询

var found= document.querySelectorAll('li[temp="true"]');

JSFiddle