Учитывая, что вам нужно определить полный идентификатор элемента на основе только префикса, вам придется выполнить поиск по всему DOM (или, по крайней мере, поиск по всему поддереву, если вызнать некоторый элемент, который всегда гарантированно содержит ваш целевой элемент).Вы можете сделать это следующим образом:
function findChildWithIdLike(node, prefix) {
if (node && node.id && node.id.indexOf(prefix) == 0) {
//match found
return node;
}
//no match, check child nodes
for (var index = 0; index < node.childNodes.length; index++) {
var child = node.childNodes[index];
var childResult = findChildWithIdLike(child, prefix);
if (childResult) {
return childResult;
}
}
};
Вот пример: http://jsfiddle.net/xwqKh/
Имейте в виду, что идентификаторы динамических элементов, подобные тем, с которыми вы работаете, обычно используются для гарантии уникальностиидентификаторов элементов на одной странице.Это означает, что, вероятно, существует несколько элементов с одинаковым префиксом.Вероятно, вы хотите найти их всех.
Если вы хотите найти все элементы с заданным префиксом, а не только первый, вы можете использовать что-то вроде того, что показано здесь: http://jsfiddle.net/xwqKh/1/