大家好我有这个函数的目的是返回一个锚元素,但是我遇到了一些问题。 这是我的代码:
jQuery(document).ready(function () {
var myDiv = document.querySelector('.div1').childNodes;
var anchor;
myAnchor = (function () {
var i = 0;
for (i = 0; i < myDiv.length; i++) {
anchor = myDiv[i];
if (anchor.nodeName == 'a') {
return anchor;
}else{
return myDiv[i];
}
}
})();
console.log(myAnchor);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<div class="div1">
<p>This is the first paragraph inside the division</p>
<p>This is the second paragragh inside the division</p>
<h5>This is a h5 header</h5>
<p>This is a paragraph next to he h5 header</p>
<a href="#">justklick</a>
</div>
</nav>
有人应该告诉我如何实现我的目标。我实际上想要访问作为div的祖先的锚。
让我的问题更加清晰。我知道jQuery让事情变得简单。但我的目的是迭代父元素,它是div = class1的div。并将结果设置为锚点。并且为了确保我的函数返回锚标记,我使用了一个if语句来检查锚是否现在等于一个标记,函数shoukd返回。我打算使用javascript jQuery ready函数纯粹是为了让dom准备就绪。 请朋友们,我做对了吗?
答案 0 :(得分:1)
由于您已经在使用jQuery,为什么不使用它来选择锚点?
jQuery(document).ready(function () {
var myAnchor = jQuery('.div1 a');
}
myAnchor[0]
将为您提供dom元素(而不是jQuery对象)。
答案 1 :(得分:1)
jQuery(document).ready(function() {
//Thhis function returns a list of A tags in the div
function myAnchor() {
return jQuery('.div1 a').toArray()
}
console.log(
//Get list
myAnchor()
);
console.log(
//Get first A element
myAnchor()[0]
);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<div class="div1">
<p>This is the first paragraph inside the division</p>
<p>This is the second paragragh inside the division</p>
<h5>This is a h5 header</h5>
<p>This is a paragraph next to he h5 header</p>
<a href="#">justklick</a>
</div>
</nav>
&#13;
答案 2 :(得分:1)
使用jquery,它很容易:
<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/开始,了解可能的内容。