Присоединение к элементу в JQuery

0

Я создал массив элементов, содержащих алфавит, и пытаюсь добавить каждое значение в качестве гиперссылки с помощью 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>
  • 0
    '"#"' Кажется плохой строкой внутри <a> элемента <a> .
  • 2
    alph.val изменить на value
Показать ещё 3 комментария
Теги:

4 ответа

3
Лучший ответ

ряд проблем,

Используйте 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>");
});
  • 1
    На самом деле один комментарий - вы добавляете все эти ссылки в основную ссылку ... это правильно? или вы хотите добавить эти ПОД основной ссылки alphachar. (если вы хотите ПОД НАЛИЧНОЙ ссылкой, тогда используйте .after вместо .append
2

Вместо того, чтобы добавлять его в цикл, создайте весь элемент DOM и добавьте в конец:

var html = ""
$.each(alph, function(index, value){
    html += "<a href='#' class='alphaChar'>  " +  value + "</a>" );
});

$("a.alphaChar").append(html);
0

В вашем коде есть синтаксическая ошибка. Я думаю, вы хотите это сделать:

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>" );
});
0

Используйте этот код

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>" ));
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню