Dav*_*mar 21 javascript jquery
我刚开始使用jQuery,虽然下面的代码完成了工作,但我觉得它可以缩短.
var accountAddress = $(document.createElement("input")).addClass("readOnly")
.attr("contentEditable", "false").attr("id", "d_accountAddress");
$("#customerid_c").next().next().next().append(accountAddress);
Run Code Online (Sandbox Code Playgroud)
如果不清楚 - 我正在做的是创建新的输入标签,分配类并使其成为只读,然后将新输入两个TD定位在某些已知文本的右侧.
更新:
这是我正在修改的简化HTML.我添加内容的地方标有## 1 ##和## 2 ##.
<TD id=customerid_c>
<LABEL for=customerid>Customer</LABEL>
</TD>
<TD id=customerid_d></TD>
<TD class=ms-crm-Field-Normal>
<LABEL>##1##</LABEL>
</TD>
<TD>##2##</TD>
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 53
是的,它可以.
$('#customerid_c').nextAll().eq(2)
.append('<input class="readOnly" id="d_accountAddress" />');
Run Code Online (Sandbox Code Playgroud)
在jQuery 1.4.2中,您可以编写
$('#customerid_c~:eq(2)')
.append('<input class="readOnly" id="d_accountAddress" />');
Run Code Online (Sandbox Code Playgroud)
此选择器在早期版本的jQuery中无法正常工作,使用Next Siblings Selector(~)选择后面的所有兄弟元素#customerid_c,然后使用:eq选择器选择由另一个选择器匹配的第三个(从零开始)元素.
jQuery有很多种选择器可以替代索引的兄弟.如果您向我们展示您的HTML,我们可以找到您的HTML.
您可以在一个调用中设置多个属性:
$(something).attr({ id: 'd_accountAddress', type: 'text' });
Run Code Online (Sandbox Code Playgroud)