javascript - 在 div 中选择一个标签并使用 jQuery 制作一个弹出窗口
问题描述
我一直在尝试使用 jQuery 为 div 内的第二个 A 标签制作弹出窗口。您可以在这里看到我尝试过的内容:
$(function() {
$(".sites").find("a").eq(1).css("color", "red").dialog({
autoOpen: false,
show: {
effect: "fade",
duration: 500
},
hide: {
effect: "fade",
duration: 500
}
});
$(".sites").find("a").eq(1).on("click", function() {
$(".sites").find("a").eq(1).dialog("open");
});
});
div {
margin: 2rem 0 0 2rem;
width: 300px;
height: 150px;
border: 1px solid gray;
}
a {
display: block;
font-size: 2rem;
color: blue;
padding: 1rem;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<p>
Finding the second a tag, colouring it in red, then display a pop-up on click when clicking Site 2
</p>
<div class="sites">
<a href="https://www.site1.com">Site 1</a>
<br>
<a href="https://www.site2.com">Site 2</a>
</div>
如何强制对话框弹出窗口打开并显示“你好!”?
解决方案
您可以使用 Ids 来引用第二个元素,此外,函数调用略有错误。这是一个正确的版本:
$(function() {
$("#site2").addClass("color-red");
$("#site2").on("click", function(e) {
e.preventDefault();
$(this).dialog({
autoOpen: false,
show: {
effect: "fade",
duration: 500
},
hide: {
effect: "fade",
duration: 500
}
}).dialog( "open" );
});
}());
div {
margin: 2rem 0 0 2rem;
width: 300px;
height: 150px;
border: 1px solid gray;
}
a {
display: block;
font-size: 2rem;
color: blue;
padding: 1rem;
}
.color-red {
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<p>
Finding the second a tag, colouring it in red, then display a pop-up on click when clicking Site 2
</p>
<div class="sites">
<a id="site1" href="https://www.site1.com">Site 1</a>
<br>
<a id="site2" href="https://www.site2.com">Site 2</a>
</div>
推荐阅读
- google-apps-script - 有没有办法用javascript参数调用函数gas?
- react-native - react-native 中的三元运算符
- javascript - 计算高图中每个系列的百分比值
- css - 尝试使包装器的边缘变圆,同时将边框保持在所有元素的顶部
- elasticsearch - 将 jaeger 与 kubernetes 集群上的 elasticsearch 后端存储连接起来
- angular - 与他人共享 Angular 应用程序的简单方法?
- sql - PostgreSQL 中 VALUES 子句的行为
- python - 在 sc = SparkContext("local", "SparkFile App") 中使用 python 在 windows10 中的 pyspark 出错
- svg - 打印到 PDF 时光栅化的 SVG 图案
- mysql - 无法使用 Intellij 创建池的初始连接,导致 SpringBoot 中没有创建数据库?