Мне нужно создать функцию, которая добавит атрибут к элементам, у которых есть атрибут с определенными значениями.
$ index имеет значения 0-10, код работает до этой точки: var element = $ ("a [data-slide-index * = '" я "']");
Firebug дает мне:
Blockquote SyntaxError: отсутствует) после списка аргументов
Остальное выглядит так:
<script type="text/javascript">
jQuery(document).ready(function($){
for(var i=0; i<parseInt(<?php echo json_encode($index); ?>);i++){
var hoverAtt = "onHover"+i+"()";
var element = $("a[data-slide-index*='"+ i +"']");
element.next().attr("onmouseover", function(){
return hoverAtt;
});
}
})
</script>
Существует пример jFidle для $ index = 6: http://jsfiddle.net/Fuh9P/
Edit: Я изменил конкатенацию, как предложил Сьёрд, но все равно не работает.
Сообщение об ошибке связано с тем, что вы соединете строки неправильно. У вас есть следующее:
var element = $("a[data-slide-index*='"i"']");
В рамках $()
вы пытаетесь объединить три части, например:
"a"i"b"
Вместо этого вы должны использовать что-то вроде этого:
"a" + i + "b"
var element = $("a[data-slide-index*='" + i + "']");