我的CMS很老了。
它提供以下HTML。 我想为每个输入和id名称添加id,这是前一个td的文本,例如navn,e-po,hjem等。 Id可以是4个字母。
我尝试了这段代码,但它只为每个输入提供了id =“----”。
<script type="text/javascript">
$(document).ready(function(){
$('table tr').each(function(){
var formid=$('td:first', this).text().toLowerCase().slice(0,4);
$('input', this).attr('id', function() {
return formid});
});
});
</script>
基本上我试图做的是。对于每个tr。将变量formid设置为第一个td并获取文本并使用四个字母更改为小写。 并找到此输入并添加此formid的ID。
(UPDATE) 经过两次回复,我尝试了以下几点。
$(document).ready(function() {
$('table input').each(function() {
var formid=$(this).parents('td').prev().text().toLowerCase();
alert (formid);
});
});
这警告navn:,电子邮件:,hjemmeside:和sak:。
到目前为止一切顺利。 但是,当我使用以下内容时,它什么都不提醒。我想从每个字符串中取出来。
$(document).ready(function() {
$('table input').each(function() {
var formid=$(this).parents('td').prev().text().toLowerCase();
var inputid=formid.slice(0,5);
alert (inputid);
});
});
有人可以帮我吗?
提前致谢。
<TABLE CELLSPACING="0" CELLPADDING="2" BORDER="0">
<TR>
<TD> Navn: </TD>
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Namn" VALUE="" MAXLENGTH="50">
</TD>
</TR>
<TR>
<TD> E-post: </TD>
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Epost" VALUE="" MAXLENGTH="50">
</TD>
</TR>
<TR>
<TD> Hjemmeside: </TD>
<TD> <INPUT TYPE="text" CLASS="input-style" NAME="Hemsida" VALUE="http://" MAXLENGTH="50">
</TD>
</TR>
<TR>
<TD> Sak: </TD>
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Arende" VALUE="" MAXLENGTH="50">
</TD>
</TR>
<TR>
<TD> Telefon:
</TD>
<TD><INPUT TYPE="text" CLASS="input-style" NAME="Telefon" VALUE="" MAXLENGTH="50">
</TD>
</TR>
<TR>
<TD>
Tekst:
</TD>
<TD>
<TEXTAREA NAME="Innehall" ROWS="5" COLS="42"></TEXTAREA>
</TD>
</TR>
<TR>
....
....
....
</TD>
</TR>
</TABLE>
答案 0 :(得分:0)
我重写了一下这个函数只对输入元素进行操作:
$(document).ready(
function () {
$('input').each(
function () {
// *this* refers to the current input-element
var labelTd = $(this).parent().prev(),
label = $(labelTd).text(),
shortLabel = label.slice(0,4);
// Set the id-attribute of the input element to the sliced
// text content of the label
$(this).attr('id', shortLabel);
});
}
);
答案 1 :(得分:0)
我认为最好从输入元素开始,然后从那里导航。
在设置ID之前,从文本中删除所有标点符号和其他非字母字符也是个好主意:
$(document).ready(function() {
$('table input').each(function() {
var formid=$(this).parents('td').prev().text().match(/[a-zA-Z]{,4}/);
$(this).attr("id",formid);
});
});