1

我发现很多情况下我想将变量附加到 div 或另一个 HTML 元素。例如,我有一个 div 用作对话框窗口来编辑表格中的一行 - 如下所示:

    <div class='dialog' id='editTableLineDialog'/>

当此对话框打开时,我需要在我正在编辑的表中记录行的 id。在过去,我创建了名为 lineCurrentlyEditting 的全局变量(糟糕!),或者我将 id 嵌入到实际的表 id 中,如下所示:

    <div class='dialog' id='editTableLineDialog_43'/>

这两种解决方案都不是很优雅。我希望能够将变量添加到 div,如下所示:

    var dialog = document.getElementById('editTableLineDialog');
    dialog.tableLineId = 43;

或者

    $('#editTableLineDialog').tableLineId = 43;

或者

    <div meta='{tableLineId=43}' class='dialog' id='editTableLineDialog'/>

反正有做这样的事情吗?处理这种情况的最佳方法是什么?JQuery 有解决方案吗?

4

2 回答 2

9

您可以使用数据属性。

<div data-tableLineId='43' class='dialog' id='editTableLineDialog'/>

jQuery有一个数据功能:(http://api.jquery.com/jQuery.data/

$.data('#editTableLineDialog', 'tableLineId','43');
于 2013-07-18T18:57:07.723 回答
2

通常的做法是将这样的值存储在所谓的“隐藏字段”中。假设对话框与表格在同一页面中,您很可能只有这样的内容:

<input type="hidden" id="tableRowEdited" value="43">

这不会呈现给用户,但您可以通过 jQuery 引用它:

$("#tableRowEdited").val()
于 2013-07-18T18:57:30.317 回答