Я пишу приложение «встроенный переводчик», которое будет использоваться с платформой облачных вычислений для расширения неподдерживаемых языков.Большинство из них использует jQuery, чтобы найти текстовое значение, заменить его переводом, а затем добавить элемент с тегом span, который имеет уникальный идентификатор, для использования в другом месте приложения.Проблема возникает, однако, когда существует более одного элемента, скажем, который имеет одно и то же значение для перевода (сопоставленные элементы).Что происходит в рассматриваемой функции, так это то, что она помещает все совпадающие элементы в один и тот же диапазон, извлекая второй, третий, четвертый и т. Д. Из родительских тегов.Мой код во многом похож на этот пример:
<script src='jquery-1.4.2.js'></script>
<script>
jQuery.noConflict();
var uniqueID='asdfjkl';
jQuery(window).ready(function() {
var myQ1 = jQuery("input[id~=test1]");
myClone=myQ1.clone();
myClone.val('Replaced this button');
myQ1.replaceWith('<span id='+uniqueID+'></span>');
jQuery('#'+uniqueID).append(myClone);
});
</script>
<table>
<tr><td>
<input id='test1' type='button' value="I'm a button!"></input>
<input id='test2' type='button' value="And so am I"></input>
</tr></td>
<tr><td>
<input id='test1' type='button' value="I'm a button!"></input>
</tr></td>
</table>
В качестве обходного пути я экспериментировал с использованием цикла для создания класса для каждого диапазона, увеличиваясь с шагом до jQuery ("input [id ~ ="test1] "). длина, но я не могу заставить себя работать.Есть ли способ дать каждому сопоставленному элементу уникальный идентификатор?Моя беглость в jQuery проверяется!
Спасибо за любую помощь заранее.
Аарон