是否可以在下面的 select 语句中引用原始选定的元素,如下所示:
$('.someclass').next('span').hide().parent().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>');
其中 $(this) 是原始的 $('.someclass') 元素。
我正在尝试从初始元素获取属性以应用于语句中的另一个元素。
编辑
由于初始元素是按类选择的,因此存在多个具有相同类名的元素。
这是源 html:
<div>
<input class="someclass" name="somename">
<span></span>
我想隐藏输入,并使用带有前缀的原始输入名称添加新输入。
最佳答案
您的标题提出的问题与您的问题不同。
.end()
遍历到初始元素,但您想使用该元素影响另一个元素。
$('.someclass').each(function(){
$(this).next('span').hide().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>');
})
或者如果您更喜欢创建元素而不是 HTML
$('.someclass').each(function(){
$input = $('<input>', {
name: $(this).attr("name")+'-x',
}).addClass('textbox');
$(this).next('span').append($input);
})
http://jsfiddle.net/0ub2ht5s/2/
我从 fiddle 中删除了.hide()
,否则你什么也看不到。
您可以使用您提供的语法通过附加一个函数来完成此操作,但您会进行不必要的遍历,因此不要执行以下操作,这里作为示例:
$('.someclass').each(function(){
$(this).next('span').append(function(){
return '<input class="textbox" name="'+$(this).prev().attr("name")+'-x'+'"/>'
});
})
关于javascript - jquery 在以下选择器中引用初始元素选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251562/