我有一个常见问题页面,看起来像下面显示的标记

页面加载后,我想显示与URL中的书签相对应的答案

该网址的格式为www.mydomain.com/page#q1

我正在尝试这样做,但无法正常工作-关于如何解决它的任何想法?

console.log($(hash).length)

的长度为1,因此正在选择dom元素

而且我使用了相同的功能来在单击脚本时进一步单击以显示它-这样就可以了

$(function () {

        var hash = window.location.hash;
        //hash = hash.replace('#', '');
        console.log('hash:' + hash);
        console.log($(hash).length);

        $(hash)
            .parent()
            .parent()
            .find("dd.answer")
            .slideToggle();

        $("dd.answer")
                .hide();

        $("dt.question")
                .click(function () {
                    $(this)
                        .parent()
                        .find("dd.answer")
                        .slideToggle();
                });
    });

<dl>
    <dt class="question">
        <a id="q1"></a>
        Question 1
    <dd class="answer" style="display: none;">
        Answer 1
    </dd>
</dl>
<dl>
    <dt class="question">
        <a id="q2"></a>
        Question 2
    <dd class="answer" style="display: none;">
        Answer 2
    </dd>
</dl>
<dl>
    <dt class="question">
        <a id="q3"></a>
        Question 3
    <dd class="answer" style="display: none;">
        Answer 3
    </dd>
</dl>

===============>>#1 票数:1 已采纳

您在使用哈希显示后隐藏了dds。

试试这个代替:

<html>

    <head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script>
    $(function () {

        var hash = window.location.hash;
        //hash = hash.replace('#', '');
        console.log('hash:' + hash);
        console.log($(hash).length);

        $('dd').hide();

        $(hash).parents('dl').find('dd').slideToggle()

        $("dt.question")
                .click(function () {
            $(this)
                        .parent()
                        .find("dd.answer")
                        .slideToggle();
        });
    });

</script>
</head>

<body>

<dl>
    <dt class="question">
        <a id="q1"></a>
        Question 1
    <dd class="answer" >
        Answer 1
    </dd>
</dl>
<dl>
    <dt class="question">
        <a id="q2"></a>
        Question 2
    <dd class="answer" >
        Answer 2
    </dd>
</dl>
<dl>
    <dt class="question">
        <a id="q3"></a>
        Question 3
    <dd class="answer" >
        Answer 3
    </dd>
</dl>

</body>

</html>

===============>>#2 票数:0

尝试这个:

var hash = "#" + window.location.hash;

由于网址中的原始#已删除,因此它是哈希开始的指示。
JQuery希望ID选择器以#开头,因此您必须自己添加它。

  ask by ChrisCa translate from so

未解决问题?本站智能推荐:

2回复

jQuery-增加显示的元素

我的JQ代码有一些问题。 默认情况下,我必须仅显示UL列表中的4个元素。 但是,如果单击“显示更多”元素,则必须显示UL列表中的+4个更多(+4)元素。 有人知道我该怎么做吗? 对不起,我的英语不好 :( 这是我的代码: http://jsfiddle.net/
2回复

jQuery-如何获取单选按钮/复选框/列表/下拉菜单中屏幕上显示的文本

我正在解析一个表单并获取所有元素的值,包括文本框,单选按钮,复选框,列表框和下拉框。 我目前能够获取上述所有值。通过值,我指的是分配给该元素的值(例如单选按钮)。但是在某些情况下,屏幕上显示的值是文本(在单选框/复选框/下拉列表/列表)与实际分配给该值的文本(提交表单时)不同。 供您
3回复

jQuery-根据ID匹配选项值在列表中更改显示/隐藏元素

我有一个页面,其中包含动态创建的表。 这些表的ID(存储在数据库中)可以与页面上选择列表的值匹配。 默认情况下,所有表都是隐藏的。 我想基于选定的选项值显示和隐藏表。 显示具有与所选选项值匹配的ID的表,并隐藏其他不匹配的表。 下面的代码用于显示匹配表。 但是,如果不匹配
34回复

jQuery-$未定义

我有一个简单的jquery click事件 以及在site.master中定义的jquery引用 我检查了脚本是否已正确解析,可以在Firebug中查看标记并直接查看脚本,因此必须找到我。 但是,我仍然得到: $未定义 而且没有一个jQuery的作品。 我还尝试了$(documen
2回复

jQuery-在3列中输出此对象列表

有人可以告诉我如何在3列中输出此对象列表并按字母顺序对列表进行排序吗? 我尝试过else if但是... CSS: HTML: JS: http://jsfiddle.net/KKYZj/8/
1回复

jQuery-更改多个表单列表中的按钮

我正在使用Spring-Boot应用程序,并且尝试根据用户是否喜欢该配方来更改按钮的图像。 当前,html获取食谱列表,循环遍历它们,并为每个食谱生成一个表单元素和子按钮,因此最终得到了一个表单列表。 所有表单都设置为同一类,并且我正在动态地使按钮ID不同。 的index.html
2回复

jQuery-通过悬停从列表中获取div号

将鼠标悬停在div上如何获取数字? HTML JS 工作实例 http://jsfiddle.net/9R4aC/2/
4回复

jQuery-从父列表中删除选择的选项

我有清单1: 清单2: 我想使用jQuery从list2中删除list1的选定值。 可以是一个或多个值。 我正在使用此代码从列表1到列表2添加选项:
3回复

jQuery-从列表中的父类删除类

我需要一个Javascript IF语句来检测是否: 如果确实等于“ Manage”,则将列表设置为.show(). *
1回复

jQuery-帮助定义年龄门中的无效日期

我正在为包含酒精的客户页面设置年龄限制。 访客必须填写日,月,出生年以及国家。 该表格与不同国家/地区的最低购买年龄相关。 如果年龄足够大,我设法将其重定向到起始页;如果年龄太小,则显示“ 对不起,您还不够大,无法进入该网站 ”。 到现在为止还挺好。 但是,如果他们输入的不是实