2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
ID在文檔中必須是唯一的。所以停止在循環(huán)中使用靜態(tài) ID。
鏈接去某處。如果您不導(dǎo)航,請(qǐng)不要使用鏈接。如果你想點(diǎn)擊某些東西來(lái)觸發(fā) JS,請(qǐng)使用按鈕。如果您不喜歡按鈕的默認(rèn)外觀,請(qǐng)應(yīng)用 CSS。
帖子 ID 不是一種關(guān)系。不要濫用
rel
屬性。(適當(dāng)?shù)挠梅?lèi)似于<a href="page2.html" rel="next">
)data-*
如果您需要將自定義數(shù)據(jù)與元素相關(guān)聯(lián),請(qǐng)使用屬性。固有事件屬性有一堆與之相關(guān)的問(wèn)題。不要使用它們。請(qǐng)改用
addEventListener
and friends。
function active_del_modal(event) {
const button = event.target;
const id = button.dataset.postId;
console.log({
id
});
}
document.querySelector("#delete-buttons").addEventListener("click", active_del_modal);
button {
border: none;
background: none;
colour: blue;
cursor: pointer;
}
button:hover {
text-decoration: underline;
}
<ul id="delete-buttons">
<li><button type="button" data-post-id="$post_id">Delete</button></li>
<li><button type="button" data-post-id="foo">Delete</button></li>
<li><button type="button" data-post-id="bar">Delete</button></li>
</ul>

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
方法 1 - 最小變化
onclick='active_del_modal(this)'
你可以使用
function active_del_modal(link) {
var x = link.getAttribute("rel");
alert(x);
}
方法 2 - 更好:
window.addEventListener("load",function() {
document.querySeletor("table").addEventListener("click",function(e) {
const tgt = e.target, rel = tgt.getAttribute("rel");
if (rel) alert(rel);
})
})
我建議使用數(shù)據(jù)屬性而不是 rel:
如果將 id 更改為 class,則可以這樣做
window.addEventListener("load",function() {
document.querySeletor("table").addEventListener("click",function(e) {
const tgt = e.target;
if (tgt.classList.contains("get_post_id")) {
const id = tgt.dataset.id;
console.log(id);
}
})
})
使用
echo "<td><a data-id='$post_id' class='get_post_id'>Delete</a></td>";
最后,如果鏈接應(yīng)該刪除該行,您可以這樣做
window.addEventListener("load",function() {
document.querySeletor("table").addEventListener("click",function(e) {
const tgt = e.target;
if (tgt.classList.contains("delete")) {
tgt.closest("tr").remove();
}
})
})
使用
echo "<td><button type="button" class='delete'>Delete</button></td>";
- 2 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)