Есть три проблемы со следующей строкой:
$('.ms-vb2 .ms-lastCell).eachl(function() {
- Вы не ставили закрывающую
'
после lastCell
.
- Пробел в вашем селекторе означает, что вы будете выбирать любые
.ms-lastCell
элементы, которые являются потомками .ms-vb2
элементов. Если вы удалите пробел и скажете '.ms-vb2.ms-lastCell'
, он найдет элементы с обоими классами.
- Вы ошиблись
.each
(с буквой l на конце).
Есть пара проблем с содержимым вашего .each()
обратного вызова. Первая строка в порядке, она получает содержимое ячейки. Но тогда:
var replaceValue = lastColumn.Append("Changed Content");
Я не уверен, что вы пытаетесь сделать здесь, но lastColumn
- это строка , а в строках нет метода Append()
. Если вы хотите добавить к существующему значению, вы можете сказать:
var replaceValue = lastColumn + "Changed Content";
Если вы просто хотите заменить его, скажите:
var replaceValue = "Changed Content";
Если вы намереваетесь отбросить старое значение и просто предоставить новое значение, вы можете пропустить все это и сказать:
$(this).html("Changed Content");
Наконец, вам не нужно использовать .each()
, когда только одна ячейка будет соответствовать вашему селектору (или когда вы хотите обновить все совпадающие элементы до одинакового значения), так что вы можете просто сделать это:
$('.ms-vb2.ms-lastCell').html("Changed Content");
Или, если вы хотите добавить к существующему контенту, вы можете использовать синтаксис метода .html()
, который принимает функцию обратного вызова:
$('.ms-vb2.ms-lastCell').html(function(i, oldHtml) {
return oldHtml + "Changed Content";
});
Где jQuery вызывает вашу функцию обратного вызова, передавая старое значение, чтобы вы могли обработать его, как считаете нужным, и тогда возвращаемое значение становится новым html-содержанием элемента. Если вашему селектору соответствует несколько элементов, ваш обратный вызов будет вызываться для каждого по очереди.