打印文档中的第一个链接

print the first link in the document

本文关键字:第一个 链接 文档 打印      更新时间:2023-09-26

我想用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",它突然起作用了,为什么?为什么可变a对下一个语句有任何影响?

任何答案都值得赞赏。

有几种可能性:

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

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

尝试添加以下脚本标记:

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

如果你想使用jQuery,你还应该通过.attr("attrname")函数访问属性。

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

同样,如果你想使用jQuery,你必须将选择器从"mylink"更改为"#mylink",以指定你正在搜索ID为"mylink"的元素。

我对你想做什么有点困惑,但你不能用 js 编写整个链接吗?前任:

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

脚本中的注释标记将被忽略,并且仅存在,因此不支持javacript的浏览器不会在文档中打印它。<noscript>是让不支持javascript的浏览器有替代内容。

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

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

document.write($('a:first').attr("href"));
<</div> div class="answers">

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

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

大功告成。