如何使用函数更改jQuery ID选择器

时间:2015-07-20 20:52:45

标签: javascript jquery function

在我的html文件中,我将#book1#book2等作为div。

我正在尝试设置它,以便我可以为每个产品调用函数(addToPage)并传入我的对象(book1),它会将我的产品信息放到页面上。任何帮助表示赞赏!

var book1 = {
name:'name of book', 
author:'name of author'
}

//////////// THIS WORKS

function addToPage(productId) {
$('#book1 .name').text(productId.name);
$('#book1 .author').text(productId.author);
}
addToPage(book1)

/////////// THIS DOESN'T WORK / CAN YOU TELL ME WHY?

function addToPage(productId) {
$('#productId .name').text(productId.name);
$('#productId .author').text(productId.author);
}
addToPage(book1)

1 个答案:

答案 0 :(得分:0)

你正在传递一个物体。因此变量不会作为参数的一部分。

使用



var book1 = {
  id: 'book1',
  name: 'name of book',
  author: 'name of author'
}

function addToPage(product) {
  $('#' + product.id + ' .name').text(product.name);
  $('#' + product.id + ' .author').text(product.author);
}

addToPage(book1)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="book1">
  <p class="name"></p>
  <p class="author"></p>
</div>
&#13;
&#13;
&#13;

我相信您的HTML中包含book1book2等元素。但是你的jQuery选择器正在寻找id productId的元素。您需要将其替换为您传入的变量,以便进行正确的选择。