Следующее описание взято из этой страницы :
Метод getElementsByClassName () возвращает коллекцию всех элементов в документе с указанным именем класса, так как объект NodeList.
Объект NodeList представляет собой набор узлов. К узлам можно обращаться по номерам индексов. Индекс начинается с 0.
Совет. Вы можете использовать свойство length объекта NodeList для определения количества элементов с указанным именем класса, затем вы можете прокручивать все элементы и извлекать нужную информацию .
blockquote>Итак, поскольку параметр
getElementsByClassName
принимает имя класса.Если это ваше тело HTML:
то
var menuItems = document.getElementsByClassName('menuItem')
вернет коллекцию (а не массив) из трех верхних
s, поскольку они соответствуют заданному имени класса.Затем вы можете перебирать эти узлы (
s в этот случай) с помощью:for (var menuItemIndex = 0 ; menuItems.length ; menuItemIndex ++) { var currentMenuItem = menuItems[menuItemIndex]; // do stuff with currentMenuItem as a node. }
Подробнее о различиях между элементами и узлами см. в этой записи .
1задан sqlchild 3 April 2012 в 09:18поделиться
Здесь много обсуждений проблемы SPLIT
в mysql:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Вы можете написать функцию Split в MYSQL, проверьте эту ссылку
из ссылки
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
Использование
SELECT SPLIT_STR(string, delimiter, position)
Пример
SELECT SPLIT_STR('a|bb|ccc|dd', '|', 3) as third;
+-------+
| third |
+-------+
| ccc |
+-------+
Я разбираю строку с использованием цикла while и вставляю разделенные элементы во временную таблицу. Это сложно, но я копирую и вставляю код, а затем изменяю имя таблицы для удобочитаемости. Ниже приведен пример для разбора списка идентификаторов пользователей с разделителями-запятыми в таблице temp:
CREATE PROCEDURE spParse
(_UserList MEDIUMTEXT)
BEGIN
DECLARE _Pos INT;
DECLARE _Start INT;
DECLARE _Item INT;
DECLARE _Length INT;
CREATE TEMPORARY TABLE IF NOT EXISTS TempUserList
(
UserID INT
);
SET _Length = LENGTH(_UserList);
SET _Pos = 1;
SET _Start = 1;
divide_loop:LOOP
IF _Pos > _Length Then
LEAVE divide_loop;
End If;
IF SUBSTRING(_UserList,_Pos,1) = ',' Then
IF _Pos - _Start > 0 Then
IF IsNumeric(SUBSTRING(_UserList,_Start,_Pos-_Start)) Then
SET _Item = CONVERT(SUBSTRING(_UserList,_Start,_Pos-_Start),Signed);
INSERT INTO TempUserList (UserID)
VALUES (_Item);
End If;
End If;
SET _Start = _Pos + 1;
End If;
SET _Pos = _Pos + 1;
END LOOP divide_loop;
IF _Start <= _Length Then
If IsNumeric(SUBSTRING(_UserList,_Start,_Length - _Start + 1)) Then
SET _Item = CONVERT(SUBSTRING(_UserList,_Start,_Length - _Start + 1),Signed);
INSERT INTO TempUserList (UserID)
VALUES (_Item);
End If;
End If;
SELECT UserID FROM TempUserList;
DROP TABLE TempUserList;
END