У меня есть набор URL-адресов в столбце таблицы, например:
<tr>
<td class="impression_referer">http://www.google.fi/search?hl=en&q=http+header+referer&btnG=Google-search&meta=&aq=f&oq=</td>
</tr>
<tr>
<td class="impression_referer">http://www.facebook.com</td>
</tr>
У меня есть.js файл, где я внизу вызываю все функции для своего приложения, среди прочего, функцию, которая должна манипулировать приведенными выше строками:
$(document).ready(function() {
cleanUpUrls();
});
Код, который я должен манипулировать строками, выглядит следующим образом:
var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
var domain = matches && matches[1];
Как написать свой код в функции cleanUpUrls()
, чтобы я cleanUpUrls()
все упомянутые строки при загрузке страницы?
Попробуй это:
$("td.impression_referer").text(function(i, val) {
var matches = val.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
return matches ? matches[1] : val;
});
Демо: http://jsfiddle.net/Ht9HC/
Использование $("td.impression_referer")
выберет все td-элементы с классом impression_referer
. Метод .text()
может использоваться для получения или установки текста элемента html. Если вы передадите функцию обратного вызова в .text()
ваша функция будет вызываться один раз для каждого элемента, причем существующее текстовое значение передается как параметр, а возвращаемое вами значение будет установлено как новый текст - вам не нужно вручную закодируйте свой собственный цикл, потому что jQuery обрабатывает это для вас за кулисами.
text()
. Потрясающие.
.html()
, .prop()
, .css()
и т. Д.
impression_referer
?DOM
- какойloop
, какойcollection
, какой методreplace
. Я понимаю, что это ежедневная задача для веб-разработчиков, но для меня это не ясно.