[英]How could I find an element with similar ID in JS?
在我的頁面中,我的標簽看起來像這樣:
ContentPlaceHolder1_gvGroups_lblName_0
對應:
ContentPlaceHolder1_gvGroups_lblHidden_0
我可以斷言任何* lblName都有對應的* lblHidden。
現在,我有一些js:
//use to make any label with 'edit' class editable
function makeLabelsEditable() {
$(".edit").focusout(function () {
setLabel(this);
});
$(".edit").click(function () {
editLabel(this);
});
}
//used to edit labels
function editLabel(source) {
source.innerHTML = '<input type="text" maxlength="40" value="' + source.innerHTML + '"/>';
$(source).unbind('click');
source.children[0].focus()
}
//used to edit labels
function setLabel(source) {
if (source.children[0].value != '') {
$(source).click(function () {
editLabel(this);
});
source.innerHTML = source.children[0].value;
}
}
我可以斷言標記有class edit的所有內容都是有效的。
我需要像這樣修改此代碼://用於編輯標簽
function setLabel(source) {
if (source.children[0].value != '') {
$(source).click(function () {
editLabel(this);
});
source.innerHTML = source.children[0].value;
var hidden = someHowGetHiddenFromSource(source);
hidden.innerHTML = source.children[0].value;
}
}
我敢肯定這是可能的,我只是不知道怎么做。
本質上,它將是這樣的:
getElementByID(replace(source.id,'lblName','lblHidden'));
我只是不知道什么JS / JQ函數可以做到這一點。
謝謝
從本質上講,它將類似於:
getElementByID(replace(source.id,'lblName','lblHidden'));
幾乎就是這樣。 它的:
var hidden = document.getElementById(source.id.replace('lblName', 'lblHidden'));
hidden
將是DOM元素。
或使用jQuery:
var hidden = $("#" + source.id.replace('lblName', 'lblHidden'));
hidden
將是包裝該元素的jQuery實例。
DOM元素的id
屬性是一個字符串。 JavaScript字符串具有replace
功能,在簡單情況下,該功能接受要替換的字符串和替換字符串。 (不僅限於此,在這種情況下,這就是您所需要的。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.