我知道应该很简单,但我只是不明白。
我正在使用克隆来复制<li>
元素:
var li = $('.selected_list .template').clone();
该清单包含以下内容:
<li>
<input type="hidden" value="" class="item_id" name="item_id[]">
<div class="col_rating">
<input type="textbox" value="" maxlength="3" class="item_rating" name="">
</div>
</li>
我可以使用以下内容更改item_id
输入的内容:
$(li).find('.item_id').prop({
'value': $(item).attr('id'),
'name': 'item_id[]'
});
$(li).find('.col_rating').find('input.col_rating').prop('name','item_rating[]');
$(li).find('.col_name').text($(item).find(('.assoc_name')).text());
$(li).find('.col_cost > input.item_cost').val($('.info_container .unit_cost').val());
但是如何更改input
内包含的div
的值?
我尝试使用>
来访问孩子,但这不起作用。
非常感谢您的帮助:)
更新
我可以更改item_id
的值。问题是,如何更新name
输入的col_rating
属性?
答案 0 :(得分:2)
$('.item_rating', li).val('250');
答案 1 :(得分:1)
使用.val()
设置元素的值。不是.prop()
,不是.attr()
。
li.find('.item_id').val('250');
答案 2 :(得分:1)
用逗号替换冒号。此外,li
已经是一个jQuery对象,无需再次包装它。
li.find('.item_id').prop('value', '250');
实际上,不是使用.prop()
设置属性,而是使用.val()
:
li.find('.item_id').val('250');
答案 3 :(得分:0)
li.find('.item_rating').val('250')
答案 4 :(得分:0)
var li = $('.selected_list .template').clone();
li
.find('.item_id').prop({ // find item_id and change properties
'value': '250',
'name': 'name1'
})
.end() // jump to list again
.find('.item_rating').prop({ // find .item_rating and change properties
'value': '150',
'name': 'name2'
})
.appendTo('.selected_list'); // append to list (you may have something else)
<强> Demo 强>