Jquery 单击链接可在页面其他位置的单独div中显示数据

Jquery 单击链接可在页面其他位置的单独div中显示数据,jquery,html,click,show-hide,Jquery,Html,Click,Show Hide,我仍在尝试打开一个会员页面,点击一个链接,可以看到该会员的个人资料显示在页面下方的特定分区中。(我不想用框架来做这件事。)下面是我得到的当前版本,使用了来自其他线程的建议,但是当我点击链接时,什么都没有发生。我还是个新手,非常感谢你的帮助。我还没有创建一个fiddle,所以您可以看到整个属性——我注意到早期版本中的一个错误是,我的代码中引用了比fiddle中使用的版本更早的jQuery版本 <!DOCTYPE HTML> <html> <head&

我仍在尝试打开一个会员页面,点击一个链接,可以看到该会员的个人资料显示在页面下方的特定分区中。(我不想用框架来做这件事。)下面是我得到的当前版本,使用了来自其他线程的建议,但是当我点击链接时,什么都没有发生。我还是个新手,非常感谢你的帮助。我还没有创建一个fiddle,所以您可以看到整个属性——我注意到早期版本中的一个错误是,我的代码中引用了比fiddle中使用的版本更早的jQuery版本

<!DOCTYPE HTML> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Can YOU get this to work?</title>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js">
    $(document).ready(function()) {
        $(".link").click(function(){    
            $(".hide").hide();
            var dataType = $(this).attr('data-type');
            $("#" + dataType).show();
        });
    });
    </script>
    <style type="text/css">

    #profiles {background:#FFFFCC; border-style:solid; border-color:#ffd119; padding:15px; width:600px;text-align:left;position:absolute; top:450px;left:180px;}
    .show {display:block; width:600px;}
    .hide {display:none;}
    .biopic {float:left; margin-right:15px; width:200px; height:200px; border-style:solid; border-color:#000099;clear:left;}
    .biostext {display:inline; margin-left:15px; font-family:Georgia, serif; clear:right;}
    #bioLinks {float:left; display:block; font-family:Georgia, serif;  margin-left:25px; margin-top:15px;clear:right;}
    .link {font-family:Georgia,serif; color:#0000ff; text-decoration:none;}

    #Section {font-family:Georgia, serif;float:left; display:block; width:150px; margin-right:15px; margin-top:15px; text-align:right;}
    </style>

    </head>
    <body>
    <div id="Section">
    Honcho<br>Grand Poo-Bah<br>Dogsbody
    </div>
    <div id="bioLinks">
      <div><a href="#" data-type="bio1" class="link">Joe Bloggs</a></div>
      <div><a href="#" data-type="bio2" class="link">Monica Faux</a></div>
      <div><a href="#" data-type="bio3" class="link">John Doe</a></div>
      </div>
    <div id="profiles">
        <div id="bio1" class="hide">
            <div class="biopic"><img src="http://www.northshorebrass.org.nz/images/members_photos/JBloggs.jpg" width="200" height="200" alt="Joe Bloggs"></div>
            <div class="biostext">Joe Bloggs is swell.</div>
            </div>
            <div id="bio2" class="hide">
                    <div class="biopic"><img src="http://www.northshorebrass.org.nz/images/members_photos/MFaux.jpg" width="200" height="200" alt="Monica Faux"></div>
            <div class="biostext">Monica Faux is considering some changes in her life.</div>
        </div>
        <div id="bio3" class="hide">
            <div class="biopic"><img src="http://www.northshorebrass.org.nz/images/members_photos/JDoe.jpg" width="200" height="200" alt="John Doe"></div>
            <div class="biostext">John Doe is an unknown.</div>
        </div>
    </div>
    </body>
    </html>

你能让它工作吗?
$(文档).ready(函数()){
$(“.link”)。单击(函数(){
$(“.hide”).hide();
var dataType=$(this.attr('data-type');
$(“#”+数据类型).show();
});
});
#配置文件{背景:#FFFFCC;边框样式:纯色;边框颜色:#ffd119;填充:15px;宽度:600px;文本对齐:左;位置:绝对;顶部:450px;左:180px;}
.show{显示:块;宽度:600px;}
.hide{display:none;}
.传记片{浮动:左;右边距:15px;宽度:200px;高度:200px;边框样式:纯色;边框颜色:#000099;清晰:左;}
.biostext{显示:内联;左边距:15px;字体系列:乔治亚,衬线;清除:右;}
#bioLinks{float:left;display:block;字体系列:乔治亚,衬线;左边距:25px;右边距:15px;clear:right;}
.link{字体系列:乔治亚,衬线;颜色:#0000ff;文本装饰:无;}
#部分{字体系列:佐治亚,衬线;浮点:左;显示:块;宽度:150px;右边距:15px;边距顶部:15px;文本对齐:右;}
Honcho
Grand Poo Bah
Dogsbody 乔·布洛格斯很棒。 莫妮卡·福克斯正在考虑改变她的生活。 约翰·多伊是个默默无闻的人。
$.data()不是从HTML节点检索属性的正确方法。你会想使用

将返回链接上设置的数据类型属性的值。

$.data()不是从HTML节点检索属性的正确方法。你会想使用


将返回链接上设置的数据类型属性的值。

删除或重命名重复的ID标记(bio1、bio2、bio3)


Fiddle:

删除或重命名重复的ID标签(bio1、bio2、bio3)


Fiddle:

您对多个元素具有相同的id属性(即#bio1是锚和div的id)。每个元素的Id都应该是唯一的。谢谢,但它仍然不起作用。在检查fiddle(以及社区上一次试图解决此问题的fiddle)时,我注意到fiddle运行在HTML5中,我的文档被指定为HTML4.01。因此,我根据Briggs&@scotsninja修改了代码,并如上所述调整了DOCTYPE。鼓声滚滚……还是娜达。有人有更多的想法吗?W3.ord验证给了我一个错误,因此“第14行,第13列:元素脚本的文本内容不是所需的格式:应为空格、制表符、换行符或斜杠,但找到了$”行和列引用用于关闭脚本。多个元素具有相同的id属性(即#bio1是锚和div的id)。每个元素的Id都应该是唯一的。谢谢,但它仍然不起作用。在检查fiddle(以及社区上一次试图解决此问题的fiddle)时,我注意到fiddle运行在HTML5中,我的文档被指定为HTML4.01。因此,我根据Briggs&@scotsninja修改了代码,并如上所述调整了DOCTYPE。鼓声滚滚……还是娜达。有人有更多的想法吗?W3.ord验证给了我一个错误,因此“第14行,第13列:元素脚本的文本内容不是所需的格式:应为空格、制表符、换行符或斜杠,但找到了$”。行和列引用是脚本的结尾。为什么data()不是正确的方法?链接使用HTML5数据属性。jQueryAPI说使用data()检索数据属性;但是
attr()
data()
更快。
data()。简言之,
attr()
对于简单数据类型的get操作更快,但是
data()
对于set操作更安全。我已经按照Briggs的建议和建议修改了我的代码,并被告知您的代码是HTML5,我的文档类型是HTML4.01。所以我修改了DOCTYPE和代码,但它在fiddle之外仍然不起作用。进一步确定fiddle中的属性范围对这个新手没有帮助-fiddle做了哪些其他假设而我的代码没有?为什么data()不是正确的方法?链接使用HTML5数据属性。jQueryAPI说使用data()检索数据属性;但是
attr()
data()
更快。
data()。简言之,
attr()
对于简单数据类型的get操作更快,但是
data()
对于set操作更安全。我已经按照Briggs的建议和建议修改了我的代码,并被告知您的代码是HTML5,我的文档类型是HTML4.01。所以我修改了DOCTYPE和代码,但它在fiddle之外仍然不起作用。进一步确定fiddle中的属性范围对这个新手没有帮助-fiddle做出了哪些其他假设,而我的代码没有?我看到这在fiddle中是可行的,但这段代码不会
$(this).attr('data-type');
  <div><a href="#" data-type="bio1" class="link">Joe Bloggs</a></div>
  <div><a href="#" data-type="bio2" class="link">Monica Faux</a></div>
  <div><a href="#" data-type="bio3" class="link">John Doe</a></div>
$(document).ready(function() {
    $(".link").click(function() {    
        $(".hide").hide();
        var dataType = $(this).attr('data-type');
        $("#" + dataType).show();
    });
});