![](/img/trans.png)
[英]Grab the text from the nearest span tag using jquery on keyup press
[英]Grab the value from a span (not the text) using javascript
我正在嘗試獲取 span 屬性的值,但到目前為止只成功獲取了文本(在這種情況下我不需要)。
// I want the value to return "10" myValue = document.querySelector(".count-total").getElementByID("data-multiply") console.log(myValue)
<div class="count-total"> <span data-multiply="10">20 Doses</span> </div>
使用querySelector
定位span
,然后從數據集中獲取multiply
值。
const span = document.querySelector('.count-total span'); console.log(span.dataset); const val = span.dataset.multiply; console.log(val);
<div class="count-total"> <span data-multiply="10">20 Doses</span> </div>
使用dataset
屬性: https : //developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
const node = document.querySelector(".count-total span[data-multiply]") console.info(node.dataset.multiply)
<div class="count-total"> <span data-multiply="10">20 Doses</span> </div>
.getElementByID("data-multiply")
在語法上既不正確,也不會獲得數據屬性
它拼寫為getElementById
但在元素具有 ID 時使用
您需要使用帶有完整路徑的 querySelector 並使用dataset 屬性
// I want the value to return "10" const myValue = document.querySelector(".count-total span").dataset.multiply; console.log(myValue)
<div class="count-total"> <span data-multiply="10">20 Doses</span> </div>
getElementById
(注意末尾的小寫d
)查找具有匹配id="xyz"
值的元素。 你的元素都沒有id
。
假設帶有data-multiply
的span
是具有該data-*
屬性的唯一(或至少是第一個)元素,您可以使用屬性選擇器( [data-multiply]
)通過querySelector
找到它,並通過getAttribute
或dataset
讀取其屬性值:
const element = document.querySelector("[data-multiply]"); const myValue = element.getAttribute("data-multiply"); console.log(myValue); const myValue2 = element.dataset.multiply; console.log(myValue2);
<div class="count-total"> <span data-multiply="10">20 Doses</span> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.