0

这可能是一个愚蠢的问题,因为我在任何地方都没有找到关于我的具体问题的任何信息,这是我的第一个 javascript/html 项目。

我想通过与它们相关联的 id(book1 和 price1)传递一本书的名称及其价格。我的想法是这样,如果稍后名称或价格发生变化,函数“addToCart(book1,price1)”将自动传入更新后的名称/价格。是否可以在 javascript/html5 中以这种方式将字符串传递给函数?

以下是部分代码:

<td>
    <span class="bookName" id="book1">
        <b>Artificial Intelligence: Modern Approach</b>
    </span> <br>
    <b>PRICE: $</b> 
    <span id="price1"> 158.55 </span> 
    <button type="button" onclick="addToCart(book1, price1)">Add to cart!</button>
</td>

提前致谢!

4

2 回答 2

3

HTML

<button type="button" onclick="addToCart('book1', 'price1')">Add to cart!</button>

JS

function addToCart(productId, priceId) {
    // ...
}

关于您的代码的其他一些注释:

  • 使用<br />代替<br>,否则它不是有效的 HTML
  • 理想情况下使用<label>标签,这使其更易于访问

例如

<label for="price1">PRICE:</label>
<span>$</span>
<span id="price1">158.55</span>
  • 通常最好将事件挂接到单独的 JavaScript 文件(或<script>标记)而不是 HTML 属性中。这为您的功能和标记/UI 提供了更清晰的分离
于 2013-02-27T22:08:10.613 回答
0

假设您使用的是 jquery:

onClick="addToCart($(this).siblings('.bookName').text(), $(this).siblings('.price').text())"

<span class="price">158.55</span>这将要求您在价格跨度 ( )上放置一个类。

请记住... DOM 中的每个元素都“知道”它在哪里,您可以轻松地向上/向下导航此树以查找附近的相关元素。

于 2013-02-27T22:08:36.813 回答