Я создал массив элементов, содержащих алфавит, и пытаюсь добавить каждое значение в качестве гиперссылки с помощью jquery. Я могу видеть мои значения в массиве, но на моей странице они отображаются как неопределенные. Может кто-то пролить немного света? Благодарю.
<p id="alphabet"><a href="#" class="alphaChar"></a></p>
<script>
var alph = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "W", "X","Y","Z"];
$.each(alph, function(index, value){
$("a .alphaChar").append().html( "<a href='"#"' class='alphaClass'> " + alph.val + "</a>" );
});
</script>
ряд проблем,
Используйте value
вместо alph.val,
ваш селектор был неправ, (вы искали детей с классным альфачаром)
$("a.alphaChar")
и ваш .append().html(..)
был неправильным. -you может связывать функции в JQuery, поэтому то, что вы на самом деле делали, было "ничего не добавлять, а THEN задало HTML всего элемента...".
$("a.alphaChar").append( < HTML GOES HERE > );
Смотрите эту скрипку http://jsfiddle.net/jFIT/wW5CZ/
var alph = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "W", "X", "Y", "Z"];
$.each(alph, function (index, value) {
console.log(value);
$("a.alphaChar").append("<a href='\"#\"' class='alphaClass'> " + value + "</a>");
});
.after
вместо .append
Вместо того, чтобы добавлять его в цикл, создайте весь элемент DOM и добавьте в конец:
var html = ""
$.each(alph, function(index, value){
html += "<a href='#' class='alphaChar'> " + value + "</a>" );
});
$("a.alphaChar").append(html);
В вашем коде есть синтаксическая ошибка. Я думаю, вы хотите это сделать:
JavaScript:
var alph = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "W", "X","Y","Z"];
$.each(alph, function(index, value){
$("a.alphaChar").append("<a href='#' class='alphaClass'> " + value + "</a>" );
});
Используйте этот код
var alph = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P","Q", "R", "S", "T", "U", "W", "X","Y","Z"];
for (var i=0; i < alph.length; i++) {
$("a .alphaChar").append($("<a href='#' class='alphaClass'>" + alph[i] + "</a>" ));
}
'"#"'
Кажется плохой строкой внутри<a>
элемента<a>
.alph.val
изменить наvalue