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

标签 javascript jquery

是否可以在下面的 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'+'"/>');
})

http://jsfiddle.net/0ub2ht5s/

或者如果您更喜欢创建元素而不是 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'+'"/>'
    });
})

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

关于javascript - jquery 在以下选择器中引用初始元素选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251562/

相关文章:

javascript - 如何在 kotlin JS 中通过 JSON.stringify 将 Map 序列化为 JSON 字符串?

javascript - Reactjs 使用动态文本值渲染 JSX

javascript - HTTP 缓存 - 设置缓存控制 header 后,资源未从浏览器缓存提供服务

javascript - 如何设置浏览器确认框焦点为取消?

Javascript/Jquery 未捕获类型错误试图替换 html

php - 在javascript中回显mysql语句

javascript - React-navigation 在调试时工作正常但在 Release模式下不工作

jquery - 如何在 jquery ui selectmenu 中对齐字符串

javascript - 内存泄漏-定期图像下载

javascript - jQuery 插件给出 "jQuery is not defined"