【发布时间】:2019-10-14 10:11:00
【问题描述】:
下面的代码显示了三个要点击的链接,每个链接都需要重定向到 div。
<div class="paging-links">
<nav>
<ul>
<li class="paging-item"><a href="#" class="paging-link active">First Div</a></li>
<li class="paging-item"><a href="#" class="paging-link">Second Div</a></li>
<li class="paging-item"><a href="#" class="paging-link">Third Div</a></li>
</ul>
</nav>
</div>
第一个 Div 有一些在页面加载时显示的图像
<div id="gallery-page-first div" class="gallery-page">
...... image set......
Second Div 有一些图片需要在点击“Second Div”链接时显示
<div id="gallery-page-second div" class="gallery-page hidden">
...... image set......
Third Div 有一些图像需要在单击“Third Div”链接时显示,反之亦然。
<div id="gallery-page-third div" class="gallery-page hidden">
...... image set......
我的问题是如何让带有空格的 Div 元素连接到下面的 JQuery 中?
(使用此<--- 标记)
<script>
$(document).ready(function(){
// Handle click on paging links
$('.paging-link').click(function(e){
e.preventDefault();
var page = $(this).text().toLowerCase();
$('.gallery-page').addClass('hidden');
$('#gallery-page-' + page).removeClass('hidden'); // <---
$('.paging-link').removeClass('active');
$(this).addClass("active");
});
});
</script>
编辑:不过,我在单词之间使用_ 字符,类似于
<li class="paging-item"><a href="#" class="paging-link active">First_Div</a></li>
和
<div id="gallery-page-first_div" class="gallery-page">
...... image set......
链接运行良好,但看起来不太好。
【问题讨论】:
-
gallery-page-third div是id的无效值;它们不能包含空格。 -
所以如果我需要一个包含两个单词的 div 元素,我该如何在 JQuery 中使用它
-
查看
data-*属性,而不是使用.text()。基于元素的内部文本构建选择器并不是一个好主意,因为它可以改变(例如,如果用户使用 Chrome 的内置页面翻译)。 -
如果需要使用两个词,需要按Class添加! .. 类支持 2 个或更多单词。
-
为此使用
href属性也很常见。href="#divID"