0

我是 Java EE 和 HTML5 前端的新手。我读过您可以使用 data 属性来读取 DOM。您将如何正确使用它来获取已由 java.xml 设置的会话属性。与使用隐藏输入等其他方法相比。

<input id="sid" type="hidden" name="series" value="${sessionScope.series} />

var sid = document.getElementById("sid"), series;
4

1 回答 1

1

使用这样的东西:

<div id="div1" data-special-value="${sessionScope.series}"></div>

并获取如下属性值:

document.getElementById("div1").getAttribute("data-special-value")

甚至(http://caniuse.com/dataset):

document.getElementById("div1").dataset("special-value")

或者使用 jQuery:

$("#div1").attr("data-special-value")
// or
$("#div1").data("special-value")

虽然我不确定在元素上存储会话值是否正确。这绝对没有错,我只是想知道您在会话中需要/使用它做什么。会话出现一次。

这些data-*属性在将相关数据存储到某物时更有用。例如,如果您遍历一堆数据库记录并打印它们的列,但还想存储该行的数据库id一次,您可以使用:

<c:forEach items="${rows}" var="row">
    <tr data-row-id="${row.id}">
        <td>${row.name}</td>
        <td>${row.description}</td>
    </tr>
</c:forEach>

然后,如果您想获取原始row.id值,则将其存储在一个位置,其中包含与它相关的所有内容(列)。这通常是我使用data-*属性的方式/位置。当然,这有很多想法/用途。

于 2013-04-06T01:46:46.627 回答