我只是簡單地說明了一點。這裏是MySQL數據庫的示例表。什麼是識別HTML元素的最佳方法
SQL數據庫
+----+-------------+
| ID | Description |
+----+-------------+
| 1 | Example 1 |
| 2 | Example 2 |
| 3 | Example 3 |
| 4 | Example 4 |
+----+-------------+
然後我使用PHP(Laravel框架)來從數據庫中的數據得到我的觀點。
Laravel
@foreach
<div id="entry_{{ $table->id }}">
<input type="text" id="description_{{ $table->description }}">
<button id="save_{{ $table->id }}" class="button">Save</button>
<button id="delete_{{ $table->id }}" class="button">Delete</button>
</div>
@endforeach
現在我們必須在HTML視圖整個數據庫的內容。爲了更好的用戶體驗,我需要使用jQuery進行技巧提示,因此我檢查是否有任何按鈕被按下。
jQuery的
$(document).ready(function()
{
$(".button").click(function()
{
// Get's id of button what is pressed
var elementID = this.id;
// I don't know if this regexp works, but you get the point.
// Let's grab all text before and after _
var regexp = /(.*?)_(.*?)/;
var match = elementID.match(regexp);
var operation = match[1];
var id = match[2];
// And here i would check that is operation save or delete.
// If it is delete_2, i would do tricks with AJAX and after that delete div entry_2
});
});
我的問題是有沒有命名/識別HTML元素,這樣我就不必使用正則表達式和匹配一些小把戲更好的辦法?這工作,我用這個,但如果有更好的方式,我想學習它。
這一工程,但我會用'的正則表達式匹配this.id.split( 「_」)'代替。或者,您可以使用'data-action =「delete」data-id =「2」'屬性。 –