这是我在伪代码中尝试做的事情
Find all <td> Elements with Class name 'OSGridRef'
For each <td> element pass the text of that <td> element into a function called ConvertToLatLong
Update an <td> element in the same table row that has the class name 'LatLong' with the results of the function.
我没有在常规JavaScript或jQuery中如何做到这一点。
任何想法?
答案 0 :(得分:3)
这应该这样做。当你说'内容'时,我认为你的意思是里面的所有文字?
$(function() {
$('tr:has(.OSGridRef)').each(function() {
var content = $(this).find('.OSGridRef').text();
var result = ConvertToLatLong($.trim(content));
$(this).find('.LatLong').text(result);
});
});
答案 1 :(得分:2)
嗯,考虑到我们只使用伪代码,这不是很好,但是这里有:
$('.OSGridRef').each(function() {
var $t = $(this);
$t.closest('tr').find('.LatLong').text(
ConvertToLatLong($t.text())
);
});
答案 2 :(得分:1)
使用each
对元素进行迭代。
$(function() {
$('.OSGridRef').each( function() {
var content = $(this).text(), // or .html() if you need the HTML
latlong = ConvertToLatLong(content),
$latlongholder = $(this).closest('tr').find('.LatLong');
$latlongholder.text(latlong);
});
});
答案 3 :(得分:1)
在jquery中,您可以使用selectors查找所需的所有元素
然后你可以使用each()函数来调用你的“ConverttoLatLong”函数。
要更新元素,您需要选择它(使用前面看到的选择器)然后修改它值/ text / etc.
jQuery.com上的文档可以帮到你很多
答案 4 :(得分:0)
$('.OSGridRef').each(function() {
$('.LatLong').val(ConvertToLatLong($(this).val()));
})
这是我的第一个猜测,我不知道它们是否是输入或其他东西,但如果你能提供更多细节(如html)我可以编辑这个