특별한 필요 하나 이에 대한 jQuery를 사용하지 수 있습니다.
function set_inputs(obj, prefix) {
var nodes = obj.getElementsByTagName("input");
for (var i = 0, len = nodes.length; i < len; i++) {
if (nodes[i].id) {
nodes[i].id = prefix + '_' + nodes[i].id;
}
if (nodes[i].name) {
nodes[i].name = prefix + '_' + nodes[i].name;
}
}
}
추신 : 그것은 재귀이 같은 getElementsByTagName()
를 사용하지 않고 일반 자바 스크립트에서 수행 할 수 코드에 ID 나 이름 속성이없는 입력 태그가있는 경우에 대비하여 코드에 보호 기능을 추가 했으므로 코드에서 오류가 발생하지 않도록합니다. 당신은 그것을 두 개의 인수, 원하는 DOM 트리의 부분의 상단을 나타내는 DOM 객체를 전달하여이 함수를 호출
function set_inputs(obj, prefix) {
var nodes = obj.getElementsByTagName("input");
for (var i = 0, len = nodes.length; i < len; i++) {
nodes[i].id = prefix + '_' + nodes[i].id;
nodes[i].name = prefix + '_' + nodes[i].name;
}
}
: 당신이 보호하지 않은 경우, 코드는 다음과 같이 짧은 것 input
태그를 검색하고 ID에 추가하려는 접두어를 찾으십시오. 다음과 같이하면 : set_inputs(document.body, "test")
전체 문서를 검색합니다. 다음과 같이하면 : set_inputs(document.getElementById("top"), "test")
, DOM 트리의 일부 (id = top 요소 아래의 부분) 만 검색합니다. 임의의 DOM 객체에 전달할 수 있으며 해당 계층의 노드 만 검색합니다.
당신은'set_inputs' 함수에서'obj'가 무엇인지 dom을 가로 지른다 고 말했습니까? – gideon
obj는 DOM 개체입니다. 코드는 obj의 childNodes를 가져 와서 함수를 다시 호출하여 재귀 적으로 드릴 다운합니다.이 함수는 입력 태그를 찾을 때까지 childNodes를 가져옵니다. 발견되면 ID를 변경합니다. – garyM
괜찮 았어 : – gideon