使用javascript在Div中找到锚点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用javascript在Div中找到锚点相关的知识,希望对你有一定的参考价值。

javascript中我有一个div的引用。在那个div中是一个名为='foundItem'的锚元素

我如何得到一个名为foundItem的锚的引用,这是在Div我有引用的?

页面上的其他div中有“很多”foundItem锚点。我需要'这个'DIVs。

答案

使用jquery,它很容易:

<script type="text/javascript">

$(function(){    
    var item = $("#yourDivId a[name=foundItem]")
)};
</script>

更新:

根据评论,如果您可以控制对锚标记的id / name / class的内容,最好将类应用于它们:

<div id="firstDiv">
    <a href="someurl.htm" class="foundItem">test</a>
</div>
<div id="secondDiv">
    <a href="someOtherUrl.htm" class="foundItem">test another one</a>
</div>
<!-- and so forth -->

<script type="text/javascript">

$(function(){    
    var item = $("#firstDiv a.foundItem");
    alert(item.html()); // Will result in "test"

    var item2 = $("#secondDiv a.foundItem");
    alert(item2.html()); // Will show "test another one"

)};
</script>

如果您正在使用javascript做任何事情,jQuery可以节省大量时间,值得投入精力学习。从http://api.jquery.com/browser/开始,介绍可能的内容。

另一答案
// assuming you're not using jquery or mootools 
// assume div is mydiv
var lst = mydiv.getElementsByTagName('a');
var myanchor;
for(var i=0; i<lst.length; ++i) {
    if(lst[i].name && lst[i].name == 'foundItem') {
        myanchor = lst[i];
        break;
    }
}


// the mootools method
var myanchor = $(mydiv).getElement('a[name=foundItem]');
另一答案

使用像jQuery这样的JavaScript库,节省您的时间。

var theAnchor = $('#divId a[name=foundItem]');
另一答案

您可以使用getElementsByTagName方法获取div中的锚元素,然后查找具有正确name属性的元素:

var found = null;
var e = divReference.getElementsByTagName('A');
for (var i=0; i < e.length; i++) {
  if (e[i].name && e[i].name == 'foundItem') {
    found = e[i];
    break;
  }
}

如果found不为null,则获得该元素。

如果您碰巧使用jQuery库,可以让它进行搜索:

var found = null;
var e = $(divReference).find('a[name=foundItem]');
if (e.length == 1) found = e.get(0);
另一答案

不确定这是否有帮助,但想要一个函数来动态处理页面的负载并滚动到所选的锚点。

function scrollToAnchor(anchor_val) {

  alert("" + anchor_val);

  var page = document.getElementById('tables');
  var found = null;
  var cnt = 0;
  var e = document.getElementsByTagName('a');

  for (var i = 0; i < e.length; i++) {

    if (e[i].name && e[i].name == anchor_val) {

      found = e[i];

      break;

    }

    cnt++;

  }

  if (found) {

    var nPos = found.offsetTop;

    alert("" + nPos);

    page.scrollBy(0, nPos);

  } else {

    alert('Failed with call of scrollToAnchor()' + cnt);

  }

}

以上是关于使用javascript在Div中找到锚点的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 Javascript 在音频文件中找到一段无声的片段?

是否有标准或首选标签类型可用于向某个位置添加额外的锚点/片段链接?

无法滚动到锚点

如何在视口中的 HTML 表格中定位锚点

react在哈希路由的情况下使用锚点

链接到锚点并强制重新加载当前页面