совсем не обязательно все свойства собирать одной строкой, можно же и отдельно )
а потом просто объединить "пробелом"
как-то так$('.item-add').click(function() {
var $desc = $(this).closest('.item-description')
, t_name = $desc.find('.item-name').text()
, t_price = $desc.find('.item-price').text()
, ...
$('.items-cart').attr('value', [t_name, t_price].join(" "));
});
а можно написать небольшой "сборщик" полей и потом просто указывать нужные, например
вот так$('.item-add').click(function() {
$('.items-cart').attr('value', get_items($(this), "name structure weight price", " "));
})
function get_items($el, fields, separator) {
var $desc = $el.closest('.item-description')
return ($.map(fields.split(" "), function(field_name){
return $desc.find(".item-" + field_name).text()
})).join(separator)
}