我是 StackOverflow 的新手,需要一些關于以下 JavaScript、jQuery 問題的幫助。
有沒有更簡潔的方法來撰寫以下代碼?:
jQuery(document).ready(function () {
$("#article1").click(function(){
showarticleDescription(id=1);
})
$("#article2").click(function(){
showarticleDescription(id=2);
})
$("#article3").click(function(){
showarticleDescription(id=3);
})
$("#article4").click(function(){
showarticleDescription(id=4);
})
$("#article5").click(function(){
showarticleDescription(id=5);
})
})
uj5u.com熱心網友回復:
我們可以使用 CSS 選擇器的開頭:
$('[id^="article"]').click(function() {
showarticleDescription( this.id.substr(this.id.length - 1));
});
最好在這里應用一個通用類(并且可能使用自定義屬性)。在 HTML 中,您可以執行以下操作:
<div data-article="1" class="article">...</div>
<div data-article="2" class="article">...</div>
<div data-article="3" class="article">...</div>
$("article").click(function() {
const article = $(this).data("article");
showarticleDescription(article);
});
uj5u.com熱心網友回復:
將類和資料屬性添加到您的元素(而不是依賴于 id)并使用事件委托來捕獲單擊事件,因為它們“冒泡”DOM,然后呼叫該函式。
function showarticleDescription() {
console.log($(this).data('id'))
}
$(document).ready(function () {
$(document).on('click', '.article', showarticleDescription);
});
.article:hover { cursor: pointer; color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-id="1" class="article">One</div>
<div data-id="2" class="article">Two</div>
<div data-id="3" class="article">Three</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/437476.html
標籤:javascript jQuery
