首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery引用以下选择器中的初始元素选择器

jquery引用以下选择器中的初始元素选择器
EN

Stack Overflow用户
提问于 2014-12-02 22:15:21
回答 2查看 49关注 0票数 2

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

代码语言:javascript
运行
复制
$('.someclass').next('span').hide().parent().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>');

其中$(this)是原始的$('.someclass')元素。

我正在尝试从初始元素中获取属性,以应用于语句中的另一个元素。

编辑

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

这是源html:

代码语言:javascript
运行
复制
<div>
<input class="someclass" name="somename">
<span></span>

我想隐藏输入,并使用带有前缀的原始输入名称添加一个新输入。

EN

回答 2

Stack Overflow用户

发布于 2014-12-02 22:18:39

你的标题问了一些与你的问题不同的问题。

.end()遍历到初始元素,但您希望使用该元素影响另一个元素。

代码语言:javascript
运行
复制
$('.someclass').each(function(){
    $(this).next('span').hide().append('<input class="textbox" name="'+$(this).attr("name")+'-x'+'"/>');
})

http://jsfiddle.net/0ub2ht5s/

或者,如果您更喜欢创建元素而不是HTML

代码语言:javascript
运行
复制
$('.someclass').each(function(){
    $input = $('<input>', {
        name: $(this).attr("name")+'-x',
    }).addClass('textbox');
    $(this).next('span').append($input);
})

http://jsfiddle.net/0ub2ht5s/2/

我把.hide()从小提琴上移走了,否则你什么也看不到。

你可以通过给append一个函数来使用你提供的语法来完成,但是你将不必要地遍历,所以不做下面的,它是一个例子:

代码语言:javascript
运行
复制
$('.someclass').each(function(){
    $(this).next('span').append(function(){
        return '<input class="textbox" name="'+$(this).prev().attr("name")+'-x'+'"/>'
    });
})

http://jsfiddle.net/0ub2ht5s/1/

票数 2
EN

Stack Overflow用户

发布于 2014-12-02 22:18:51

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

代码语言:javascript
运行
复制
var $el = $('.someclass');
$el.next('span').hide().parent().append('<input class="textbox" name="' + $el.attr("name") + '-x"/>');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27251562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档