17.02.2014, 01:46
|
Интересующийся
|
|
Регистрация: 23.02.2011
Сообщений: 13
|
|
Подстановка свойства объекта массива
Здравствуйте! Такая проблема: не понимаю, как сделать, чтобы в последней строке часть имени идентификатора тега, в который добавляются элементы (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>
|
|
17.02.2014, 02:12
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Павел Пичужкин,
если 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>
|
|
17.02.2014, 02:14
|
Интересующийся
|
|
Регистрация: 23.02.2011
Сообщений: 13
|
|
Спасибо за решение! А как часть ID никак нельзя?
|
|
17.02.2014, 02:18
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от Павел Пичужкин
|
А как часть 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>
|
|
17.02.2014, 02:21
|
Интересующийся
|
|
Регистрация: 23.02.2011
Сообщений: 13
|
|
Я сделал так, а элементы всё равно не добавляются (
<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>
|
|
17.02.2014, 02:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Павел Пичужкин,
не пробовали воспользоваться консолью у вас нет дива в 5 строке и нет такой переменной в 26 строке
|
|
17.02.2014, 02:36
|
Интересующийся
|
|
Регистрация: 23.02.2011
Сообщений: 13
|
|
О! Всё, заработало! Большое спасибо! Хм, я никогда не пользовался консолью...
|
|
|
|