代替
var inputs = draggingElement.getElementsByTagName("input");
inputs[0].attr('name',string1);
inputs[1].attr('name',string2);
试试这个
var inputs = draggingElement.find("input");
inputs.eq(0).attr('name',string1);
inputs.eq(1).attr('name',string2);
我认为
getElementsByTagName
将为您提供 HTML 元素对象,而您需要 jQuery 元素对象 - 以便使用 attr
方法。
检查 jQuery 手册以获得返回 jQuery 元素数组的正确方法,然后像您所做的那样使用数组访问方法,或者对它们运行
each
迭代器。
(代表问题作者将答案移至答案空间。)
这是满足我需要的脚本,感谢您的回答。
$( sort );
function sort() {
$('.drag1').sortable({
update: function(event,ui) {
var draggingElement = $('.editimg');
draggingElement.each(function() {
var ordering = $(this).index();
var string1 = 'fotos['+ordering+'].name';
var string2 = 'fotos['+ordering+'].titel';
var inputs = $(this).find("input");
inputs.eq(0).attr('name',string1);
inputs.eq(1).attr('name',string2);
});
}
});
};