如何查找链接并在DOM

时间:2017-02-13 22:40:22

标签: javascript jquery dom

嗨,怎么去url href =“#locations / 16381 / schedule? 它是href属性的值?对 一个元素“a”?右

如果我想通过找到属性为data-original-title =“Schedules”的“a”元素来获得此href 有可能吗?

我转身document.getElementById() document.getElementsByTagName() 等等......我完全失去了..(我不得不说我此时只是在学习JS)。

这里是DOM:

<div id="filter-region" class="col-lg-3 col-md-3 col-sm-3 col-xs-12"><div>
</div></div>
<div id="list-region" class="col-lg-9 col-md-9 col-sm-9 col-xs-12"><div><div class="col-lg-4 col-md-4 col-sm-6 col-xs-12"><div class="well">
  <div class="media">
    <div class="media-left media-middle">
      <a href="#locations/16381"><img src="https://api.staffomaticapp.com/system/logos/16381/api/Picture1.png?1451550438" width="51" height="51" class="img
-rounded media-object"></a>
    </div>
    <div class="media-body">
      <h4 class="location-name"><a href="#locations/16381">Vélo</a></h4>
    </div>
  </div>
  <ul class="clearfix list-inline location-navigation"><li><a title="" href="#locations/16381" data-original-title="Dashboard">
  <i class="fa fa-tachometer fa-lg fa-fw"></i>
  <span class="text">Dashboard</span>
</a>
</li><li><a title="" href="#locations/16381/schedules" data-original-title="Schedules">
  <i class="fa fa-calendar fa-lg fa-fw"></i>
  <span class="text">Schedules</span>
</a>
</li><li><a title="" href="#locations/16381/absences" data-original-title="Absences">
  <i class="fa fa-plane fa-lg fa-fw"></i>
  <span class="text">Absences</span>
</a>
```

我尝试几乎每个document.getElement()我都能找到lol ... 我试着学习jquery同时人们说它更容易...  但是在我的头脑中,一切都混淆了......

我的线索是我必须和父母和孩子一起玩 在我找到“a”元素之前......但还不够清楚......那就是它?

另外如果有人拿到“THE”教程或作弊表来玩DOM(从客户端的角度来看)我没有找到让我理解得好的人

感谢

编辑: 我几乎回答了我的问题...... $('TagOfElement')。get(NumberOfTheNode)给我$('a')。get(18).click()转到url是的jquery做了它

但我怎么能用data-original-title =“Schedules”找到呢?并在严格的JS?

将相同的帖子放在dom中访问元素的所有不同方式会是一件好事。

祝福的爱情

2 个答案:

答案 0 :(得分:0)

这个问题很复杂,因为DOM不包含类或id,这会使搜索更容易。实际上,这是我解决它的方式(参见Javascript部分):

var links = document.getElementsByTagName("a");

var anchor, ref;
for (var element of links) {
  if (element.getAttribute('data-original-title')=='Schedules') {
    anchor = element;
    ref = element.getAttribute('href');
    }
  }

console.log(anchor);
console.log(ref);
<div id="filter-region" class="col-lg-3 col-md-3 col-sm-3 col-xs-12"><div>
</div></div>
<div id="list-region" class="col-lg-9 col-md-9 col-sm-9 col-xs-12"><div><div class="col-lg-4 col-md-4 col-sm-6 col-xs-12"><div class="well">
  <div class="media">
    <div class="media-left media-middle">
      <a href="#locations/16381"><img src="https://api.staffomaticapp.com/system/logos/16381/api/Picture1.png?1451550438" width="51" height="51" class="img
-rounded media-object"></a>
    </div>
    <div class="media-body">
      <h4 class="location-name"><a href="#locations/16381">Vélo</a></h4>
    </div>
  </div>
  <ul class="clearfix list-inline location-navigation"><li><a title="" href="#locations/16381" data-original-title="Dashboard">
  <i class="fa fa-tachometer fa-lg fa-fw"></i>
  <span class="text">Dashboard</span>
</a>
</li><li><a title="" href="#locations/16381/schedules" data-original-title="Schedules">
  <i class="fa fa-calendar fa-lg fa-fw"></i>
  <span class="text">Schedules</span>
</a>
</li><li><a title="" href="#locations/16381/absences" data-original-title="Absences">
  <i class="fa fa-plane fa-lg fa-fw"></i>
  <span class="text">Absences</span>
</a>

答案 1 :(得分:0)

如果有多个具有相同类的元素,则使用jquery:

$( "a" ).each(function( index ) {
   if ($(this).data('original-title') =='Schedules' ){
    var url = $(this).attr('href')
    // do something
   }
});

或:

var url2 = $("a[data-original-title=Schedules]").attr('href');

普通javascript:

var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) {
  var dataoriginal = elements[i].getAttribute('data-original-title');
        if(dataoriginal == 'Schedules'){
            var url3 = elements[i].getAttribute("href");
       //do something
    }
}