Подстановка свойства объекта массива
Здравствуйте! Такая проблема: не понимаю, как сделать, чтобы в последней строке часть имени идентификатора тега, в который добавляются элементы (year2007), бралась из свойства (Shkolyar[itemNumper].Year)?
Неправильный вариант: year(Shkolyar[itemNumper].Year).appendChild(paperLink); //неправильный вариант <script type="text/javascript"> Shkolyar = new Array( {"AbsNumber":"1", "ID":"01", "Text":"№1 (10 октября)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"2", "ID":"02", "Text":"№2 (11 ноября)", "Year":"year2007", "Pages":"4"}, {"AbsNumber":"3", "ID":"03", "Text":"№3 (25 декабря)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"4", "ID":"04", "Text":"№4 (январь)", "Year":"2008", "Pages":"4"}, {"AbsNumber":"5", "ID":"05", "Text":"№5 (февраль)", "Year":"2008", "Pages":"4"}, {"AbsNumber":"6", "ID":"sv01", "Text":"СВ №1 (март)", "Year":"2008", "Pages":"2"}, {"AbsNumber":"7", "ID":"sv02", "Text":"СВ №2 (апрель)", "Year":"2008", "Pages":"4"} ); for (itemNumper = Shkolyar.length-1; itemNumper >= 0; itemNumper--) { var paperLink = document.createElement('a'); paperLink.id = 'link'+(Shkolyar[itemNumper].ID); paperLink.href = 'javascript:location.hash=\'#'+(Shkolyar[itemNumper].ID)+'\'; location.reload()'; paperLink.title = 'Школяр '+(Shkolyar[itemNumper].Text); paperLink.appendChild(document.createTextNode(Shkolyar[itemNumper].Text)); year2007.appendChild(paperLink); } </script> |
Павел Пичужкин,
если id не число <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <p id="year2007"></p> <p id="year2008"></p> <script type="text/javascript"> Shkolyar = new Array( {"AbsNumber":"1", "ID":"01", "Text":"№1 (10 октября)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"2", "ID":"02", "Text":"№2 (11 ноября)", "Year":"year2007", "Pages":"4"}, {"AbsNumber":"3", "ID":"03", "Text":"№3 (25 декабря)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"4", "ID":"04", "Text":"№4 (январь)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"5", "ID":"05", "Text":"№5 (февраль)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"6", "ID":"sv01", "Text":"СВ №1 (март)", "Year":"year2008", "Pages":"2"}, {"AbsNumber":"7", "ID":"sv02", "Text":"СВ №2 (апрель)", "Year":"year2008", "Pages":"4"} ); for (itemNumper = Shkolyar.length-1; itemNumper >= 0; itemNumper--) { var paperLink = document.createElement('a'); paperLink.id = 'link'+(Shkolyar[itemNumper].ID); paperLink.href = 'javascript:location.hash=\'#'+(Shkolyar[itemNumper].ID)+'\'; location.reload()'; paperLink.title = 'Школяр '+(Shkolyar[itemNumper].Text); paperLink.appendChild(document.createTextNode(Shkolyar[itemNumper].Text)); window[Shkolyar[itemNumper].Year].appendChild(paperLink); } </script> </body> </html> |
Спасибо за решение! А как часть ID никак нельзя?
|
Цитата:
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <p id="year2007"></p> <p id="year2008"></p> <script type="text/javascript"> Shkolyar = new Array( {"AbsNumber":"1", "ID":"01", "Text":"№1 (10 октября)", "Year":"2007", "Pages":"2"}, {"AbsNumber":"2", "ID":"02", "Text":"№2 (11 ноября)", "Year":"2007", "Pages":"4"}, {"AbsNumber":"3", "ID":"03", "Text":"№3 (25 декабря)", "Year":"2007", "Pages":"2"}, {"AbsNumber":"4", "ID":"04", "Text":"№4 (январь)", "Year":"2008", "Pages":"4"}, {"AbsNumber":"5", "ID":"05", "Text":"№5 (февраль)", "Year":"2008", "Pages":"4"}, {"AbsNumber":"6", "ID":"sv01", "Text":"СВ №1 (март)", "Year":"2008", "Pages":"2"}, {"AbsNumber":"7", "ID":"sv02", "Text":"СВ №2 (апрель)", "Year":"2008", "Pages":"4"} ); for (itemNumper = Shkolyar.length-1; itemNumper >= 0; itemNumper--) { var paperLink = document.createElement('a'); paperLink.id = 'link'+(Shkolyar[itemNumper].ID); paperLink.href = 'javascript:location.hash=\'#'+(Shkolyar[itemNumper].ID)+'\'; location.reload()'; paperLink.title = 'Школяр '+(Shkolyar[itemNumper].Text); paperLink.appendChild(document.createTextNode(Shkolyar[itemNumper].Text)); window['year'+Shkolyar[itemNumper].Year].appendChild(paperLink); } </script> </body> </html> |
Я сделал так, а элементы всё равно не добавляются (
<a href="javascript://" onclick="$('#year2008').slideToggle('300');" title="2008 год">2008 год</a><br /> <div class="yearlist" id="year2008"> </div> <a href="javascript://" onclick="$('#year2007').slideToggle('300');" title="2007 год">2007 год</a><br /> <div class="yearlist" id="year2007"> <script type="text/javascript"> Shkolyar = new Array( {"AbsNumber":"0", "ID":"01", "Text":"№1 (10 октября)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"1", "ID":"02", "Text":"№2 (11 ноября)", "Year":"year2007", "Pages":"4"}, {"AbsNumber":"2", "ID":"03", "Text":"№3 (25 декабря)", "Year":"year2007", "Pages":"2"}, {"AbsNumber":"3", "ID":"04", "Text":"№4 (январь)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"4", "ID":"05", "Text":"№5 (февраль)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"5", "ID":"sv01", "Text":"СВ №1 (март)", "Year":"year2008", "Pages":"2"}, {"AbsNumber":"6", "ID":"sv02", "Text":"СВ №2 (апрель)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"7", "ID":"06-1", "Text":"№6-1 (октябрь)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"8", "ID":"07-1", "Text":"№7-1 (ноябрь)", "Year":"year2008", "Pages":"4"}, {"AbsNumber":"9", "ID":"08", "Text":"№8 (декабрь)", "Year":"year2008", "Pages":"4"} ); for (itemNumber = Shkolyar.length-1; itemNumber >= 0; itemNumber--) { var paperLink = document.createElement('a'); paperLink.id = 'link'+(Shkolyar[itemNumber].ID); paperLink.href = 'javascript:location.hash=\'#'+(Shkolyar[itemNumber].ID)+'\'; location.reload()'; paperLink.title = 'Школяр '+(Shkolyar[itemNumber].Text); paperLink.appendChild(document.createTextNode(Shkolyar[itemNumber].Text)); window[Shkolyar[itemNumper].Year].appendChild(paperLink); } </script> |
Павел Пичужкин,
не пробовали воспользоваться консолью у вас нет дива в 5 строке и нет такой переменной в 26 строке |
О! Всё, заработало! Большое спасибо! Хм, я никогда не пользовался консолью... :blink:
|
Часовой пояс GMT +3, время: 08:02. |