admin管理员组文章数量:1435859
I am new in javascript.I am trying this below code to get href attribute.
<a href="facebook" onclick="cheak()">Facebook</a>
<script type="text/javascript">
function cheak()
{
var a= document.getElementsByTagName("a").getAttribute('href');
alert(a);
}
</script>
I know this is working by below code
document.getElementById("myid").getAttribute('href'); // if I use any id
But in tag I don't want to use any id or class. How can I get this attribute without using any id or class in a
tag.
I am new in javascript.I am trying this below code to get href attribute.
<a href="facebook." onclick="cheak()">Facebook</a>
<script type="text/javascript">
function cheak()
{
var a= document.getElementsByTagName("a").getAttribute('href');
alert(a);
}
</script>
I know this is working by below code
document.getElementById("myid").getAttribute('href'); // if I use any id
But in tag I don't want to use any id or class. How can I get this attribute without using any id or class in a
tag.
-
Are you only trying to get the element from within the
cheak
function? If so, Zain's answer is the correct one. – T.J. Crowder Commented Aug 21, 2015 at 7:33 -
Side note: That
href
is incorrect. It should behref="http://facebook."
orhref="https://facebook."
. Justhref="facebook."
is a relative URL. – T.J. Crowder Commented Aug 21, 2015 at 7:36
3 Answers
Reset to default 3Preface: Below, I've answered the question of how to find an element without using an id
or class
, in the general case. But if you just want the element from within your cheak
function, then Zain's answer is the correct way to do that (with minimal changes to your code; arguably more correct might be modern event hookup).
But in tag I don't want to use any id or class. How can I get this attribute without using any
id
orclass
ina
tag.
You reach for the Swiss army knife of element selection: document.querySelector
. With it, you can use any CSS selector that matches the element:
var href = document.querySelector("any selector here").getAttribute("href");
querySelector
returns the first match in the document. (There's also querySelectorAll
, which returns a list.) They're both supported in all modern browsers, and also IE8.
Since you have the full power of CSS selectors, you can use anything about the position of the element in the document to find it.
There's too little context in your question for a specific example, but for instance if it's the first a
in the document:
var href = document.querySelector("a").getAttribute("href");
alert(href);
<a href="facebook." onclick="cheak()">Facebook</a>
Or using that onclick
:
var href = document.querySelector("a[onclick='cheak()']").getAttribute("href");
alert(href);
<a href="facebook." onclick="cheak()">Facebook</a>
If you pass in this
when calling the function. it will pass the element reference to your function and you can use it to get value of href:
<a href="facebook." onclick="cheak(this)">Facebook</a>
<!-- Note -----------------------------^^^^ -->
<script type="text/javascript">
function cheak(a) {
alert(a.href); // Gives you the fully-resolved URL
alert(a.getAttribute("href")); // Gives you the content of the `href` attribute (not fully-resolved)
}
</script>
the parameter data
is the plete tag on which the function is called
<a href="www.facebook." onclick="cheak(event)">Facebook</a>
<script type="text/javascript">
function cheak(e)
{
e.preventDefault();
// var a= document.getElementsByTagName("a").getAttribute('href');
alert(e.target);
}
</script>
本文标签: How get tag attribute by javascript without using id or classStack Overflow
版权声明:本文标题:How get tag attribute by javascript without using id or class? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745672409a2669649.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论