在我的页面中,我的标签看起来像这样:
ContentPlaceHolder1_gvGroups_lblName_0
与corrosponding:
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;
}
}
我可以声明标有类编辑的任何内容都是有效的。
我需要像这样修改这段代码: //用于编辑标签
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函数可以做什么。
由于
答案 0 :(得分:0)
基本上,它会是这样的:
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
函数,在简单的情况下,它接受要替换的字符串和替换字符串。 (除此之外还有更多,但在这种情况下,这就是你所需要的。)