Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery在以下选择器中引用初始元素选择器_Javascript_Jquery - Fatal编程技术网

Javascript jquery在以下选择器中引用初始元素选择器

Javascript jquery在以下选择器中引用初始元素选择器,javascript,jquery,Javascript,Jquery,是否可以在下面的select语句中引用原始选定元素,如下所示: $('.someclass').next('span').hide().parent().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>'); $('.someclass').next('span').hide().parent().append(''); 其中$(this)是原始的$('.someclass')元素 我试图从

是否可以在下面的select语句中引用原始选定元素,如下所示:

$('.someclass').next('span').hide().parent().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>');
$('.someclass').next('span').hide().parent().append('');
其中$(this)是原始的$('.someclass')元素

我试图从inital元素获取属性,以应用于语句中的另一个元素

编辑 由于初始元素是按类选择的,因此有多个元素具有相同的类名

这是源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'+'"/>');
})

您所使用的语法不可能做到这一点。您需要将原始元素存储在变量中:

var $el = $('.someclass');
$el.next('span').hide().parent().append('<input class="textbox" name="' + $el.attr("name") + '-x"/>');
var$el=$('.someclass');
$el.next('span').hide().parent().append('');

应该可以工作-您试过了吗?是的,我试过了,结果是未定义,即使原始元素设置了名称属性。@MarcB
end
在这种情况下不起作用。它用于将链重置回初始选择器,而不是更改
的上下文。如果有多个
。someclass
?在这种情况下,@poplaines answer中的
each()
调用将是最好的解决方案,但是OP没有给出其HTML结构的指示。不可能是真的。您可以将函数放入
append()
中,但在这种情况下,代码会不整洁。@您可以给
append
一个函数,但即使在
中,该
也会引用
parent()
中的元素,而不是
$('.someclass')
。当您遍历时(不必要地)不会引用该元素
$('.someclass').each(function(){
    $(this).next('span').append(function(){
        return '<input class="textbox" name="'+$(this).prev().attr("name")+'-x'+'"/>'
    });
})
var $el = $('.someclass');
$el.next('span').hide().parent().append('<input class="textbox" name="' + $el.attr("name") + '-x"/>');