2013-06-14 7 views
0

Я хочу обновить содержимое в теге span, когда пользователь нажимает кнопку. Тег span имеет класс под названием fa_button_id_counter и id с идентификатором сообщения. Это должно быть просто, но я не могу заставить его работать. Какие-либо предложения?Изменить содержимое с помощью jquery?

вид файла:

<a class="like_button fa_button active" href="#<%= p.id %>" id="<%= p.id %>">FA</a> 
<span class="fa_button_id_counter" id="<%= p.id %>">+<%= p.likes.count %></span> 

.js файл:

$ -> 
    $(".like_button").click (e) -> 
    e.preventDefault(); 
    id = $(this).attr('href') 
    $(".fa_button_id_counter" + id).html "change to this" 
+2

Являются ли ваши # цифры числовыми? Идентификаторы html не могут начинаться с цифр. –

+0

Да, это цифры. Я изменил id на 'id = 'f <%= p.id %>", и он работал (потому что я положил char infront из p.id)! Большое спасибо! Но почему can not id - числа? – allegutta

+0

Спецификации W3C !! – sabithpocker

ответ

1

id s не может начинаться с цифр. Начните с a-zA-Z.

Чтобы ответить на вопрос:

$(".fa_button_id_counter" + id).html('+'+(parseInt($(".fa_button_id_counter" + id).html(),10)+1)) 

parseInt принимает строку и разбирает ряд. Если дано "+8", выдается номер 8. Однако вам нужно быть осторожным, чтобы всегда предоставлять второй параметр, base, установленный на 10. В противном случае javascript попытается угадать базу для вас. Если вход 015, выход будет 13, потому что предполагает, что ваш номер в базе 8.

редактировать: Спасибо mu is too short и vol7ron: Числовые идентификаторы разрешены, если вы измените доктайп на <!DOCTYPE html>.

+0

Спасибо, я сменил id на 'id =" f <%= p.id %> "', и он работает теперь :) – allegutta

+0

Это не совсем так: [«В предыдущих версиях HTML больше ограничений на содержимое значений идентификатора (например, они не разрешали идентификационные значения начинаться с числа).» (http: // dev. w3.org/html5/markup/global-attributes.html#common.attrs.id). –

+0

Ну, пока реализация OP не проверяет на соответствие спецификации, спецификация не стоит многого. –

Смежные вопросы