Javascript 在输入字段之前提取表格单元格中的文本
我有一些HTML格式:-Javascript 在输入字段之前提取表格单元格中的文本,javascript,jquery,Javascript,Jquery,我有一些HTML格式:- <table> <tr> <td>Text for input 1<br/><div>Lots of textual data</div><input id="field1" class="mandatory"/></td> <td>Text for input 2<br/><input id="field2" class="
<table>
<tr>
<td>Text for input 1<br/><div>Lots of textual data</div><input id="field1" class="mandatory"/></td>
<td>Text for input 2<br/><input id="field2" class="mandatory"/></td?
<td>Text for input 3<br/><input id="field3"/></td>
</tr>
</table>
仅适用于某一点,因为它还显示
有没有一种方法可以将文本限制在
之前?我想您需要的是
演示:您可以更新HTML标记,将消息保存在带有特殊css类的span标记中,您可以使用该类使jQuery选择更加容易
<table>
<tr>
<td><span class="msg">Text for input 1</span><br/>
<div>Lots of textual data</div><input id="field1" class="mandatory"/>
</td>
</tr>
</table>
这是一个工作示例您可以
克隆您的目标TD
并删除包含不必要文本的元素。现在,您可以轻松地从TD
中获取所需的文本。请阅读以下内容以供参考:
试试这个
$("#field1").keyup(function(){
var xClone = $(this).parent().clone();
xClone.find('div').remove();
alert((xClone).text());
});
是时候做一些简单的JS了,因为jQuery不能很好地处理textnodes:
var text = this.parentNode.firstChild.nodeValue.trim();
将该文本包装在span
或标签中,并以该标签为目标,这就是检索未包装文本的方式。使用.contents()
后,文本块将显示为它自己的节点。哦,我刚刚找到它!它只选择第一个元素(即文本到
)。TksWay使用您的长名称来打破stackoverflow css。有人现在真的很生气o
$(".mandatory").each(function(index,item){
var msg=$(this).closest("td").find("span.msg").html();
//do something with msg now
});
$("#field1").keyup(function(){
var xClone = $(this).parent().clone();
xClone.find('div').remove();
alert((xClone).text());
});
var text = this.parentNode.firstChild.nodeValue.trim();