有多个TR TD,在用于格式化而没有给出ID的表中给出相同的类名。
我想寻求jQuery的帮助。如何在span id = payment_currency_text,class =&#34; formdata元素中检索/替换<td>
内容?
1)要设置变量,请存储为SGD
,从第二组TR TD获得
2)将SGD
替换为EUR
。
注意:系统使用Jquery version = v1.4.2
我使用下面的语法,但没有运气:
alert(jQuery("#payment_currency_text tr.find(.formdata)").val());
alert(jQuery("#payment_currency_text").next('.formdata').val());
alert(jQuery("#payment_currency_text tr td.formdata").val());
alert(jQuery("#payment_currency_text").find(".formdata").html());
...(tr td child)
<tr>
<td class="prompt" align="left">
Region*
</td>
<td class="formdata" align="left">
Asian
</td>
</tr>
<span id ="payment_currency_text"> <!--- There is a SPAN tag, with ID given --->
<tr>
<td class="prompt" align="left">
Payment currency*
</td>
<td class="formdata" align="left">
SGD <!--- How i can set a variable to hold SGD, then replace to EUR? --->
</td>
</tr>
</span>
答案 0 :(得分:1)
定位td.formdata
内的span
。试试这个:
获取:
var currency=$('#payment_currency_text .formdata').html();//currency will be SGD here
设置:
$('#payment_currency_text .formdata').html('EUR');
答案 1 :(得分:1)
如果您知道它始终是特定的孩子,您可以使用:nth-child()选择器。
var setter = $("tr:nth-child(2) td:nth-child(2)").text();
$("tr:nth-child(2) td:nth-child(2)").text("EUR");
alert(setter)
这是一个小提琴http://jsfiddle.net/87V9v/
答案 2 :(得分:0)
如果您只想更改td中的html,请像这样使用
$(".formdata").html("some text or tags here");
如果你想在那些td中获取文本,请像这样使用
$(".formdata").each(function(){
$(this).html();
});
修改强>
$("#payment_currency_text").find(".formdata").html()
$("#payment_currency_text").find(".formdata").html("some text or tags here");
您的html结构存在一些问题,您无法将tr
括在内部。 tr
应该是table
的孩子。因此,相应地更改您的HTML。
<table>
<tr>
<td class="prompt" align="left">
Region*
</td>
<td class="formdata" align="left">
Asian
</td>
</tr>
<tr id="payment_currency_text">
<td class="prompt" align="left">
Payment currency*
</td>
<td class="formdata" align="left">
SGD
<!--- How i can set a variable to hold SGD, then replace to EUR? --->
</td>
</tr>
</table>
然后您可以使用上面的代码来获取元素和值。
答案 3 :(得分:0)
在jQuery中,你可以替换像这样的元素的内部HTML
$('.class-name').html("Some html in here");
但是,请注意,因为这将替换此名称的所有类的HTML。
答案 4 :(得分:0)
您可以使用text()
获取数据(纯文本)以及用新数据替换现有数据。如果您的替代品是HTML,则可以使用html()
var data=$('td.formdata').text();
alert("The value is"+data);
$('td.formdata').text("New Data");
答案 5 :(得分:0)
您可以使用:
$("#payment_currency_text").text("your text");
或
$("#payment_currency_text").html("your<b>text</b>");