这个jQuery代码片段可以缩短吗?
我刚刚开始使用jQuery,虽然下面的代码完成了工作,但我觉得它可以缩短。
var accountAddress = $(document.createElement("input")).addClass("readOnly") .attr("contentEditable", "false").attr("id", "d_accountAddress"); $("#customerid_c").next().next().next().append(accountAddress);
如果不清楚 – 我正在做的是创建新的输入标签,分配类并使其成为只读,然后将新输入定位两个TD位于某些已知文本的右侧。
更新:
这是我正在修改的简化HTML。 我添加内容的地方标有## 1 ##和## 2 ## 。
##2##
是的,它可以。
$('#customerid_c').nextAll().eq(2) .append('');
在jQuery 1.4.2中,您可以编写
$('#customerid_c~:eq(2)') .append('');
此选择器在早期版本的jQuery中无法正常工作,使用Next Siblings Selector( ~
)选择#customerid_c
之后的所有同级元素,然后使用:eq
选择器选择与之匹配的第三个(从零开始)元素其他选择器。
jQuery有很多种选择器可以替代索引的兄弟。 如果您向我们展示您的HTML,我们可以找到您的HTML。
其他说明:
您可以在一个调用中设置多个属性:
$(something).attr({ id: 'd_accountAddress', type: 'text' });