javascript - 无法使用 jquery 获取数据属性

标签 javascript jquery

我正在尝试检索 data-cost("#packages") 并将其附加到 Ticket-price 旁边的 #form。我在控制台中没有收到任何错误。我无法理解出了什么问题。

JS:

<script src="jquery-1.11.2.js"></script>
<script>
    $(document).ready(function()
      {
        var price=$("#packages").data("cost");
        var amount=$("<span>"+price+"</span>");
        $("#form").next().next().append(amount);

    });
</script>

HTML:

<div id="packages">
    <h2><u>Tourism Packages:</u></h2>
     <ul>
        <li data-name="Southern Travels">Travels Name:  Southern Travels</li>
        <li data-cost="2000">Cost per person:  2000</li>
        <li>Duration:  3 days & 4 nights</li>
     </ul>
</div>

<div id="form">
    <label>Number of persons </label>
    <input id="input"type="text"/ autofocus>
    <p id="ticket-price">Ticket Price</p>
</div>

最佳答案

要使其正常工作,您必须按如下方式编辑 HTML:

<div id="packages" data-name="Southern Travels" data-cost="2000">
    <h2><u>Tourism Packages:</u></h2>
     <ul>
        <li>Travels Name:  Southern Travels</li>
        <li>Cost per person:  2000</li>
        <li>Duration:  3 days & 4 nights</li>
     </ul>
</div>

要么,要么访问 <li> 的数据属性元素而不是 div#packages (即 #packages ul li 而不是 #packages )

关于javascript - 无法使用 jquery 获取数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725500/

相关文章:

javascript - 如何取消绑定(bind)().hover()而不是.click()?

javascript - Jquery .text() 剥离 html 在 IE-8 中不起作用

javascript - 过滤选择框时选择第一个值

javascript - 将服务器端变量传递给 asp.net 中的 javascript 函数

javascript - 具有向下钻取功能的缩放功能

javascript - 正则表达式在 JavaScript 中不起作用

Javascript:数组循环并输出文本

javascript - 测试索引值是否等于某个数字的倍数

javascript - 如何识别打开的窗口是弹出窗口还是标签页?

javascript - ES6 中带或不带大括号的导入