Я пишу простое приложение, которое включает изменение html в div, на которое ссылается имя, и оно отлично работает в Chrome, Firefox, Safari и т. Д., Но не в нашем любимом Internet Explorer. Я загружаю контент динамически, поэтому я не могу дать вам полный код, но вот пример HTML (где было бы много таких div, уложенных с возрастающими числовыми именами):
<div id="entry" class="entry" name="15">
<div id="comment" class="comment" name="15">Click here...</div>
<div id="rating" class="rating" name="15">24</div>
</div>
А вот функция jQuery, запускаемая, когда пользователь нажимает на элемент div «entry»:
$.fn.rateup = function() {
var dname = $(this).attr('name');
var rating = $("div.rating[name="+dname+"]").html();
var newrating = parseInt(rating)+1;
$("div.rating[name="+dname+"]").html(newrating);
}
Теперь я хочу, чтобы HTML в div рейтинга в дивизионе clicked entry увеличился на единицу, но в IE рейтинг элемента div ниже кликаемого клика увеличивается. Я понятия не имею, как он мог бы выбрать неправильный div здесь, так как у него очень специфическое имя, на которое очень четко ссылается мой код. Я попытался сделать то же самое с методом jfuery .find () в элементе div, по которому щелкнули, и получил тот же результат. Я в тупике.
Нажмите здесь , чтобы увидеть, о чем я говорю. Это может быть ошибка в других отношениях, но это единственное, что меня беспокоит в данный момент. Если худшее приходит к худшему, я могу просто выбрать элемент с [name = parseInt (dname) -1] тогда и только тогда, когда он будет отображаться в IE, но я бы хотел найти менее хакерское решение.
Спасибо за ваши мысли.
РЕДАКТИРОВАТЬ (6/24 23:30)
С учетом приведенных ниже ответов и моего нового знания о том, что какой-то изворотливый CSS позиционирует вещи в непонятных местах (встроенное плавное перетаскивание вправо перемещает их на следующую строку, если не обрабатывается правильно), я решил эту проблему. Спасибо вам всем за то, что помогли мне стать лучшим программистом. Я начну использовать атрибуты более правильно!