打印文档中的第一个链接

时间:2012-05-01 01:04:00

标签: javascript html

我想用JavaScript打印页面中的第一个链接。但是,当我使用以下代码时,它不起作用:

<html>
    <head><title></title></head>
    <body>
        <a id="mylink" href="http://google.com">Google</a><br />
        <script>            
            a=$('mylink').href;
            document.write(document.links[0]);                  
        </script>
    </body>
</html>

然后我注释掉代码“a=$('mylink').href”,它突然起作用了,为什么?为什么varable a对下一个声明有什么影响?

感谢任何答案。

5 个答案:

答案 0 :(得分:2)

有几种可能性:

  1. 未定义对象$并导致JavaScript错误,导致第二个语句无法执行
  2. $对象不知道如何处理传入的字符串和错误
  3. $返回的值没有值(即 - 它返回undefined)没有属性href,导致JavaScript错误

答案 1 :(得分:1)

代码无效,因为在您的示例中$对象不存在并将导致错误。您似乎尝试使用像jQuery($ object)这样的JavaScript框架,但是您忘了包含它。

尝试添加以下脚本-Tag:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

如果你想使用jQuery,你还应该通过.attr(&#34; attrname&#34;)函数访问属性。 E.g。

var a = $('#mylink').attr('href');

再次,如果你想使用jQuery,你必须改变选择器来自&#34; mylink&#34;到#m;#mylink&#34;指定您正在搜索具有ID&#34; mylink&#34;。

的元素

答案 2 :(得分:0)

我对你要做的事感到有点困惑,但是你不能只用js写出整个链接吗?例如:

<script>
<!--
document.write('<a href="http://google.com">Google</a>');
-->
</script>
<noscript>
<a href="http://google.com">Google</a>
</noscript>

脚本中的注释标记被忽略,只有那里不支持javacript的浏览器不会在文档中打印它。 <noscript>是不支持javascript的浏览器具有备用内容。

答案 3 :(得分:0)

它不起作用,因为a=$('mylink').href无法执行并停止执行以下代码。代码document.write(document.links[0])是正确的。当你在没有错误行的情况下调用它时,它就可以正常工作。

我认为在第一行你正在尝试使用jQuery库。如果你想这样做,你需要使用<script>标签包含jQuery库,然后使用以下代码:

document.write($('a:first').attr("href"));

答案 4 :(得分:0)

删除jQuery的东西,你不需要它。正如您已经发现的那样,有一个document.links集合,所以如果您想打印文档中第一个链接的herf值:

document.write(document.links[0].href)

你已经完成了。