2016-12-11 13 views
0

У меня есть таблица со списком стран в качестве радиовходов. Когда пользователь нажимает на страну, появляется вторая таблица, которая дает им 2 варианта. В настоящее время 2-й входы таблицы являются:Как изменить таблицу html с входами с помощью JQuery

<td><input class="rr ref1" id="ref1" name="reference" type="radio" /> Who xx references</td> 

<td><input class="rr ref2" id="ref2" name="reference" type="radio" /> Who reference xx</td> 

Я хочу, чтобы заменить «хх» с конкретной выбранной страны.

Я использовал $("td:contains('xx')").replaceWith("COUNTRY"), но это заменяет html простым текстом.

Когда я пытаюсь заменить весь код TD скрипт JQuery оленья кожа запустить

$ ("тд: содержит ('хх')") ReplaceWith ("<td><input class="rr ref1" id="ref1" name="reference" type="radio" /> COUNTRY</td>")

Я хочу заменить. текст с названием класса выбранной страны, но я не могу получить это, чтобы работать либо $("td:contains('xx')").replaceWith($(this).className.text()).

Любая помощь или рекомендации относительно того, где искать, будут оценены.

ответ

0

Почему бы не использовать JS replace()? Что-л. например:

$.each($("td:contains('xx')"), function(k, v) { 
    var str = $(v).html(); 
    $(v).html(str.replace("xx", "COUNTRY")); 
}); 
+0

Спасибо за это, что работает. Однако я не могу заменить текст именем класса. Я пробовал использовать $ (this) .attr ("class") , но это выглядит как неопределенное. Однако, когда я проверяю класс с полем предупреждения, он дает мне класс штраф alert ($ (this) .attr ("class")); –

+0

Получить имя класса перед циклом $ .each(), назначить его переменной и использовать эту переменную внутри цикла. Внутри цикла «это» - весь элемент. – Vagharsh