我目前正在尝试为我点击的每个li编写一个具有动态div的程序。 这是一个小提琴,供参考:http://jsfiddle.net/aaronyolungz/P8x3z/7/
每个div都有4个我想独立调用的参数:name,hometown,major,experience。(都是字符串)
到目前为止,我有一个函数,它包含所有4个基于函数输入而变化的变量,但我希望能够在调用它时只返回名称,主要或家乡。我的整体问题是,我应该按原样保留我的代码并调用我想要的变量:
UserStatement(user).User.name
?
或者我应该选择这样的事情:
function user_name(user){return name;}
function user_major(user){return major;}
编辑:修正小提琴链接
答案 0 :(得分:1)
你所拥有的是一个检索模型(UserStatement(userNumber)
)的函数,我没有看到调用者使用UserStatement(userNumber).name
之类的问题。
对于switch语句,可以用数组或对象中的查找替换它。
并且,由于对模型的访问必须是动态的,因此您可以使用元素上的属性来告诉您要访问的属性:
<ul id="testimonials" data-property='name'>
...
然后像这样访问:
var userNumber = $(this).attr('id');
var property = $(this).parent().data('property');
added_div = '<div class="testimonial_expanded">' +
UserStatement(userNumber)[property] + '</div>';
小提琴here。
答案 1 :(得分:1)
我认为你应该将name, major, hometown
作为属性值放在li
中,例如
<li data-name="1" data-major="xx" data-hometown="" ></li>
因此,您可以通过$.data
获取这些值,而不是将数据放入javascript中。
引用jQuery数据api doc
UserStatement(userName).name
很好