Mam około 1000 obrazów i tekstów z tą samą nazwą klasy i niestandardowym atrybutem. Nazwy klas to odpowiednio emotikony i emotikony. Atrybuty niestandardowe to odpowiednio emo-tag i emo-ascii.Zapełnianie tablicy elementami z różnych atrybutów HTML
Każde zdjęcie ma swojego partnera (obszar tekstowy) z dokładnie taką samą zawartością w swoim atrybucie niestandardowym.
Przykład:
emo-tag = "f-x" // for images
emo-ascii = "f-x" // for textareas
gdzie x oznacza liczbę od 0 do 999.
Mój skrypt przechwytuje atrybuty obrazów i co muszę bez problemu. Problem zaczyna się, gdy próbuję uzyskać wartość textarea, która ma dokładnie taką zawartość atrybutu jak obraz.
Oto mój kod:
$(function(){
var json = [];
$('img').each(function(){
var emoimg = $(this).attr("src");
var emoalt = $(this).attr("alt");
var emotag = $(this).attr("emo-tag");
//Does not this supposed to capture the value of this specific textarea?
var emoascii= $('.emoticonlist').attr("emo-ascii",emotag).val();
json.push({
id : emotag,
name : emoalt,
img : emoimg,
content: emoascii
});
});
var s = JSON.stringify(json);
$("#content").after("<div>" + s + "</div>");
});
Jak powiedziałem, prace kod, ale textarea schwytany i wepchnięta do tablicy jest tylko pierwszy z nich, a wszystkie elementy tablicy. Jak mogę osiągnąć to, czego chcę?
Prąd wyjścia:
[
{"id":"emo-0","name":"Smiley Face","img":"images/smiley-face.png","content":":)"},
{"id":"emo-1","name":"Big smile","img":"images/big-smile.png","content":":)"},
{"id":"emo-2","name":"Sad face","img":"images/sad-face.png","content":":)"},
...
...
...
]
Pożądany wyjściowa:
[
{"id":"emo-0","name":"Smiley Face","img":"images/smiley-face.png","content":":)"},
{"id":"emo-1","name":"Big smile","img":"images/big-smile.png","content":":D"},
{"id":"emo-2","name":"Sad face","img":"images/sad-face.png","content":":("},
...
...
...
]
mógłbyś użyć 'kod blokowy' narzędzie podczas edycji, aby dać pracę skrzypce przykład? Jeśli nie uda się, aby to działało, to dołącz wystarczającą ilość html i takie, które umożliwią łatwe skrzypce. Dzięki –
'$ ('. Emoticonlist'). Attr (" emo-ascii ", emotag)' ustawia atrybut. Nie jest to tak, jak chcesz (http://api.jquery.com/attr/). – Lucas