Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Скрипт, меняющий атрибут title у элемента (https://javascript.ru/forum/offtopic/12742-skript-menyayushhijj-atribut-title-u-ehlementa.html)

abc_ua 31.10.2010 22:29

Скрипт, меняющий атрибут title у элемента
 
На сайте есть оценка материалов, вот html код:

<ul id="uStarRating480" class="u-star-rating" title="Рейтинг: 0.0/0">
<li class="u-current-rating" id="uCurStarRating480" style="width:0%;"></li>
<li class="u-star-li-480"><a href="#" onclick="ustarrating('480',1);return false;" class="u-one-star">1</a></li>
<li class="u-star-li-480"><a href="#" onclick="ustarrating('480',2);return false;" class="u-two-stars">2</a></li>
<li class="u-star-li-480"><a href="#" onclick="ustarrating('480',3);return false;" class="u-three-stars">3</a></li>
<li class="u-star-li-480"><a href="#" onclick="ustarrating('480',4);return false;" class="u-four-stars">4</a></li>
<li class="u-star-li-480"><a href="#" onclick="ustarrating('480',5);return false;" class="u-five-stars">5</a></li></ul>


Нужно, чтобы в зависимости от звездочки, на которую навели курсор, появлялся текст "плохо", "хорошо"...

Подкиньте пожалуйста идею как это реализовать

Gozar 31.10.2010 22:45

удалено.

abc_ua 31.10.2010 23:36

Gozar, спс.

Получилось:

$(function(){
 $(".u-star-li-480 a.u-one-star").mouseover(function(){document.getElementById("uStarRating480").title="Ужасно";});
 $(".u-star-li-480 a.u-two-stars").mouseover(function(){document.getElementById("uStarRating480").title="Плохо";});
 $(".u-star-li-480 a.u-three-stars").mouseover(function(){document.getElementById("uStarRating480").title="Средне";});
 $(".u-star-li-480 a.u-four-stars").mouseover(function(){document.getElementById("uStarRating480").title="Хорошо";});
 $(".u-star-li-480 a.u-five-stars").mouseover(function(){document.getElementById("uStarRating480").title="Шедевр";});
});


а через $ до title добраться не получилось(

Aetae 01.11.2010 00:44

>$(".u-star-li-480 a.u-one-star").mouseover(function(){document.getElementByI d("uStarRating480").title="Ужасно";});
>Ужасно

exec 01.11.2010 04:44

Если делать без говнокода, то можно попробовать вот так:

jQuery(function ($) {
	$(".u-star-li-480").mouseover(function (event) {
		var c = event.target.className.match(/-(\w+)-/)[1];
		if (c)
			$("#uStarRating480").attr("title", {
				one: "Ужасно",
				two: "Плохо",
				three: "Средне",
				four: "Хорошо",
				five: "Шедевр"
			}[c]);
	});
});

Gozar 01.11.2010 12:18

удалено.

exec 01.11.2010 12:40

Код ТС был написан путём нажатий Ctrl-C Ctrl-V, что есть главный признак говнокода.

abc_ua 01.11.2010 14:06

exec,
спасибо, постараюсь разобраться

Gozar 01.11.2010 15:50

удалено.

abc_ua 01.11.2010 15:58

Gozar,
он в два раза короче; интересно узнать какой работает быстрее


Часовой пояс GMT +3, время: 23:09.