将变量附加到HTML元素?

时间:2013-07-18 18:51:56

标签: javascript jquery html html5

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

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

当此对话框打开时,我需要在我正在编辑的表中记录该行的ID。在过去,我创建了名为lineCurrentlyEditting(Yuck!)的全局变量,或者我将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有解决方案吗?

2 个答案:

答案 0 :(得分:9)

您可以使用数据属性。

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

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

$.data('#editTableLineDialog', 'tableLineId','43');

答案 1 :(得分:2)

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

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

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

$("#tableRowEdited").val()