jQuery选择器帮助?

时间:2009-11-07 17:15:59

标签: jquery selector

如何在其他HTML页面中锚定段落,同时在单击当前页面中的按钮时突出显示指向段落所在的区域?

我在JavaScript中创建这个简单的代码只是做锚定事物

当前页面:

<html>

    <form>
        <input type=button value="open in new tab" onClick="goToURL2()">
    </form>

    <body>
        <script type="text/javascript">
        <!--
            function goToURL2() { window.open( "explanations.html#footwell"); }
        // -->
        </script>
    </body>
</html>

新页面:

<html>
    <p><a name="footwell">
        O, say can you see by the dawn's early light?
    </a></p>
</html>

我认为“突出显示的文本”jQuery将是最好的方法,但无法弄清楚如何使用多个html页面。

2 个答案:

答案 0 :(得分:1)

您可以使用锚点链接到新位置,就像您已经完成的那样。然后,在新页面上,您可以从URL中获取哈希值(window.location.hash)并突出显示共享该值的特定元素。

// untested, but close enough to convey the point
$(function(){
  var theHash = window.location.hash.split("#")[1];
  $("a[name='"+theHash+"']").parent("p").addClass("highlight");
});

答案 1 :(得分:1)

将ID添加到Anchor标记

使用id时,jQuery选择器的工作速度会更快。只需从URL中取出#part并在jQuery选择器中使用它。

将您的第2页更改为:

<a id="footwell" name="footwell">...</a>

您可以选择任何想要突出显示锚点的动画,或者像其他人建议的那样添加一个类,但突出显示的部分将保持按类设置,整个时间保持它的CSS类设置。通过使用动画,它会像我们习惯的那样突出显示(即使在这里也是如此)。动画......

这是您必须在第二页上放置的代码:

$(function() {
    $(window.location.hash).parent().animate(...)
});

您当然也可以使用this plugin与自定义动画混合使用。