如何从我的位置选择class =“date”和id =“z”的标签?
<td style="width:300px;height:40px;" id="pricePanel">
<div id="class">
<label class="priceNumber" id="label">test</label>
<div class="no" hidden="hidden">
<input type="text" id='priceNumber' class="text" style="text-align:center;" onkeypress="if(event.keyCode==13)" value='@item.Cost.ToString()' />
</div>
<div>
</td>
<td id="x">
<label class="date" id="z">@date</label>
</td>
我的位置在我的jQuery代码中的文本框块中:
$(".text").live("keypress", function (event) {
//Here I want to change the text of the label with class="date" and id="z"
});
注意:在主代码中我有一个循环,不幸的是有一些标签具有相同的类和id,因此我想在文本框之后选择我已经更改其文本的标签。
答案 0 :(得分:4)
使用$(this)
引用获取当前位置.. parents('td')
移至<td>
.. next()
以获取下一个<td>
和{{1得到标签
试试这个
find
HOWEVER ,因为你在标签中有id ...直接使用它作为选择器会更好地表现性能和更快......
$("div.no").on("keypress",".text", function (event) {
$(this).parents('td').next().find('#z').text();
});
答案 1 :(得分:2)
您可以使用closest()
与文本的父td
联系,然后使用next()
与给定的类一起到达下一个td和find()
标签。您可能有重复的结构并使用相同的id
,但禁止使用多个元素,因此请使用带有标签的class
。如果你没有
重复结构然后直接使用id。
<强> Live Demo 强>
你也没有关闭第一个td中的第一个div。
HTML 的
<table>
<tr>
<td style="width:300px;height:40px;" id="pricePanel">
<div id="class">
<label class="priceNumber" id="label">test</label>
<div class="no">
<input type="text" id='priceNumber' class="text" style="text-align:center;"
onkeypress="if(event.keyCode==13)" value='@item.Cost.ToString()' />
</div>
</div>
</td>
<td id="x">
<label class="date" id="z">@date</label>
</td>
</tr>
</table>
的Javascript
$(".text").live("keypress", function (event) {
$(this).closest('td').next('td').find('.date').text("your text");
});
如果你没有重复阻止并且有单身,那么直接使用id。
$(".text").live("keypress", function (event) {
$('#z').text("your text");
});
如果可能的话, Live
已弃用on
。
答案 2 :(得分:1)
$(".text").live("keypress", function (event) {
$("label#z").text(/*your text*/)
});
答案 3 :(得分:1)
使用ID / class是识别和对象的更快方法
直接使用ID属性(考虑“z”是唯一ID)
$('#z').text("your text")
如果z重复,那么最好使用类
$('label.date').text("your text")