簡體   English   中英

如何在JS中找到具有相似ID的元素?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM