簡體   English   中英

jQuery如何通過href屬性查找超鏈接

[英]jQuery how to find hyperlink by href attribute

我正在嘗試通過我嘗試過的href屬性查找超鏈接,但無法成功,不確定是怎么做的

這是HTML

 jQuery('a[href*="15628"]').prop("onclick", "window.location.href='https://stackoverflow.com/?page_id=15628';console.log('no ajax');return false;"); jQuery('a[href="https://stackoverflow.com/?page_id=15628"]').prop("onclick", "window.location.href='https://stackoverflow.com/?page_id=15628';console.log('no ajax');return false;"); jQuery('ul#menu-main_menu').find('a[href*="15628"]').prop("onclick", "window.location.href='https://stackoverflow.com/?page_id=15628';console.log('no ajax');return false;"); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <nav class="main_menu drop_down right"> <ul id="menu-main_menu" class=""> <li id="nav-menu-item-15512" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home page_item page-item-15260 current_page_item narrow"> <a href="https://stackoverflow.com/" class=""> <i class="menu_icon blank fa" /> <span>Home</span> <span class="plus" /> </a> </li> <li id="nav-menu-item-15685" class="menu-item menu-item-type-post_type menu-item-object-page narrow active"> <a href="https://stackoverflow.com/?page_id=15628" class="current"> <i class="menu_icon blank fa" /> <span>FAQs</span> <span class="plus" /> </a> </li> </ul> </nav> <a href="https://stackoverflow.com/?page_id=15628" class="current"> <i class="menu_icon blank fa" /> <span>FAQs</span> <span class="plus" /> </a> 

您誤解了問題。

jQuery('a[href*="15628"]')發現元素很好(我沒有檢查其他元素)。

但是,您分配給onclick屬性的值必須是一個函數,並且您正在分配一個字符串。

但是,在使用jQuery時,應該使用on()方法分配事件處理程序。

您可以通過多種方式執行此操作,但是對事件的綁定不正確。 請參閱您的代碼中的這些示例以及我添加的示例。

 console.log(jQuery('a[href*="15628"]').length); console.log(jQuery('a[href="https://stackoverflow.com/?page_id=15628"]').length); jQuery('a[href="https://stackoverflow.com/"]').on("click", function(event) { event.preventDefault(); event.stopPropagation(); console.log('home link'); // window.location.href = 'https://stackoverflow.com/?page_id=15628'; return false; }); jQuery('a[href*="15628"]').on("click", function(event) { event.preventDefault(); event.stopPropagation(); console.log('no ajax1', $(this).attr('href')); // window.location.href = 'https://stackoverflow.com/?page_id=15628'; return false; }); jQuery('a[href="https://stackoverflow.com/?page_id=15628"]').on("click", function(event) { console.log('no ajax0', $(this).attr('href')); event.preventDefault(); event.stopPropagation(); // window.location.href = 'https://stackoverflow.com/?page_id=15628'; return false; }); jQuery('ul#menu-main_menu').find('a[href*="15628"]').on("click", function(event) { event.preventDefault(); event.stopPropagation(); console.log('no ajax2', $(this).attr('href')); // window.location.href = 'https://stackoverflow.com/?page_id=15628'; return false; }); jQuery('ul#menu-main_menu').on("click", 'a[href*="15628"]', function(event) { event.preventDefault(); event.stopPropagation(); console.log('no ajax3', $(this).attr('href')); // window.location.href = 'https://stackoverflow.com/?page_id=15628'; return false; }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <nav class="main_menu drop_down right"> <ul id="menu-main_menu" class=""> <li id="nav-menu-item-15512" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home page_item page-item-15260 current_page_item narrow"> <a href="https://stackoverflow.com/" class=""> <i class="menu_icon blank fa"> </i><span>Home</span><span class="plus"> </span></a> </li> <li id="nav-menu-item-15685" class="menu-item menu-item-type-post_type menu-item-object-page narrow active"> <a href="https://stackoverflow.com/?page_id=15628" class="current"> <i class="menu_icon blank fa"></i><span>FAQs</span><span class="plus"></span></a> </li> </ul> </nav> <a href="https://stackoverflow.com/?page_id=15628" class="current"><i class="menu_icon blank fa"></i><span>FAQs</span><span class="plus"></span></a> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM