我有以下(简化的)HTML代码:
<div class="column span-4">
<img src="image1">
<h2>Title 1</h2>
<p>Excerpt 1</p>
<a href="#" class="button package_info" data-title="Title 1" data-img="image1" data-excerpt="Excerpt 1" data-vid="video_url_1">More Info</a>
</div>
<div class="column span-4">
<img src="image2">
<h2>Title 2</h2>
<p>Excerpt 2</p>
<a href="#" class="button package_info" data-title="Title 2" data-img="image2" data-excerpt="Excerpt 2" data-vid="video_url_2">More Info</a>
</div>
<div class="column span-4">
<img src="image1">
<h2>Title 3</h2>
<p>Excerpt 3</p>
<a href="#" class="button package_info" data-title="Title 3" data-img="image3" data-excerpt="Excerpt 3" data-vid="video_url_3">More Info</a>
</div>
<div class="package_overview" style="width:100%;height:100%;top:100%;background:#ffffff;position:fixed;padding:35px;z-index:9999;transition:0.15s ease-out all;">
<div class="package_overview_close"><i class="fa fa-close"></i></div>
</div>
这里的想法是,当用户点击“更多信息”时,div“package_overview”显示,并且该div是他们点击的链接上的数据属性中包含的信息(即数据标题,数据摘录) ,data-img,data-vid等 - 在我的实际代码中有更多,但我保持这么简单。)
这是我目前的jQuery,
jQuery(function($){
$('a.package_info').click(function( event ) {
event.preventDefault();
$('.package_overview').css('top','0');
});
$('.package_overview_close').click(function( event ) {
$('.package_overview').css('top','100%');
});
显然,这只会打开并关闭div,但是当用户点击它时,如何用数据属性填充它?
答案 0 :(得分:1)
使用prop获取锚链接的属性,并使用html()函数填充html内部。
$('a.package_info').click(function( event ) {
event.preventDefault();
$('.package_overview').css('top','0');
var title = $(this).prop('data-title');
var excerpt= $(this).prop('data-excerpt');
.
.
$('.package_overview').html('Title : '+ title + '<br/>' + 'Excerpt : ' + excerpt);
});
答案 1 :(得分:1)
您可以使用data()方法管理data-*
属性
$('a.package_info').click(function( e ) {
e.preventDefault();
$('.package_overview').css('top','0');
var title = $(this).data('title');
var excerpt= $(this).data('excerpt');
$('.package_overview').html('Title : '+ title + '<br/>' + 'Excerpt : ' + excerpt);
return false;
});