我有一個迷你腳本,這個腳本在特定的類中找到鏈接。我基本上需要一個簡單的 if-else 陳述句。如果a存在,則運行腳本,如果不存在,則不執行任何操作。
有人可以幫我嗎?
jQuery(document).ready(function() {
jQuery("body").on("click", ".click-child", function() {
var href = jQuery(this).find("a").attr('href');
window.location = href;
});
});
uj5u.com熱心網友回復:
您可以使用:has()選擇器僅將事件處理程式掛接到.card包含a. 那么你根本不需要這個if陳述句。嘗試這個:
jQuery($ => {
$("body").on("click", ".click-child:has(a)", function() {
var href = $(this).find("a").attr('href');
window.location = href;
});
});
uj5u.com熱心網友回復:
根據你的問題,這就是我想你要問的。如果你可以把你的 HTML 放在某個地方,那么你在找什么會更清楚。
jQuery 有一個.find() 方法可以在父選擇器中搜索子選擇器,如果找到子選擇器,您可以將其用作普通的 jQuery 選擇器。否則,它什么也做不了。
如果這不是您要查找的內容,請添加更多詳細資訊,我會看看是否可以為您提供更多幫助。
<section class="cards">
<div class="card">
<img />
<h3>Opens link</h3>
<a href="https://google.com">Link</a>
</div>
<div class="card">
<img />
<h3>Nothing should happen</h3>
</div>
</section>
<script>
jQuery(window).ready( function() {
jQuery('.card').click(function() {
const link = jQuery(this).find('a').attr("href")
if (link) {
window.location = link;
}
});
});
</script>
uj5u.com熱心網友回復:
你不需要 if/else。你可以做.each()一個串列(它可能包含一個元素,或者是空的):
jQuery(function() {
jQuery("body").on("click", ".click-child", function () {
jQuery(this).find("a").first().each(function () {
window.location = this.href;
});
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/369984.html
標籤:javascript html 查询 if 语句
