我正在通过一个html结构来获取我需要的值。它似乎是一个" NamedNodeMap"我已经接到了这个电话:
ui.handle.attributes.getNamedItem("data-value")
在chromes控制台中打印时显示:
data-value="12:00 AM"
->"12:00 AM"
我需要在早上12点到凌晨#34;作为一个值,字符串,任何东西都会起作用。我只是不知道如何得到它。我的电话结束时的.value不起作用,我也试过.text和许多其他的东西。
在扩展句柄和属性之前,看看ui对象的样子:
然后:
html标记:
答案 0 :(得分:10)
.attributes
似乎是“NamedNodeMap”,我已经调用了.attributes.getNamedItem("data-value")
.attributes
是Attr
ibute nodes的NamedNodeMap
,这是一个非常弃用的界面。如果您确实想要使用此属性,则属性节点的.value
,.nodeValue
和.textContent
属性应该产生您所追求的文本值:
ui.handle.attributes.getNamedItem("data-value").value // "12:00 AM"
但是,标准方法是仅使用元素的getAttribute
method:
ui.handle.getAttribute("data-value") // "12:00 AM"
使用HTML5,甚至可以专门设计用于访问数据属性的.dataset
DOMStringMap
:
ui.handle.dataset["value"] // "12:00 AM"
答案 1 :(得分:4)
当您使用jQuery时,有very simple way来获取data- *属性:
$('element').data('key');
因此,在您的情况下,您需要找到您要定位的元素的ID并致电:
$('#ID').data('value');
如果ui.handle
是表示单个节点的jquery对象,则可以执行以下操作:
ui.handle.data('value');
或者如果它是一个javascript DOM节点,那么您需要将其包含在$
调用中:
$(ui.handle).data('value');