使用带条件的Javascript集合

使用带条件的Javascript集合,javascript,arrays,dom,collections,Javascript,Arrays,Dom,Collections,我试图根据元素的文本内容是否满足特定条件,对其设置“readonly”属性。具体的条件是,这些要素必须包含“已支付”或“待支付”文本。我遇到了两个问题,似乎几个小时都无法解决 我无法选择包含文本/短语“待定付款”的元素。问题可能是“待定”和“已支付”之间的空间吗?因为我能够选择包含文本“已支付”的所有元素 如果满足上述条件(元素的文本内容包含单词“已支付”或短语“待支付”),如何使“请求金额输入”类的所有元素不可编辑(只读) 这是我到目前为止想到的 var statusClassCo

我试图根据元素的文本内容是否满足特定条件,对其设置“readonly”属性。具体的条件是,这些要素必须包含“已支付”或“待支付”文本。我遇到了两个问题,似乎几个小时都无法解决

  • 我无法选择包含文本/短语“待定付款”的元素。问题可能是“待定”和“已支付”之间的空间吗?因为我能够选择包含文本“已支付”的所有元素

  • 如果满足上述条件(元素的文本内容包含单词“已支付”或短语“待支付”),如何使“请求金额输入”类的所有元素不可编辑(只读)

  • 这是我到目前为止想到的

        var statusClassCollection = document.getElementsByClassName('req-status');
        var textContent_criteria = ['Disbursed', 'Pending Disbursement'];
        var approvedReqsCollection = Array.prototype.filter.call(
            statusClassCollection,
            ({
                textContent
            }) => textContent_criteria.includes(textContent)
        );
    
        for (j = 0; j < approvedReqsCollection.length; j++) {
    
            var amountsClassCollection = document.getElementsByClassName("req-amount-input");
            for (i = 0; i < amountsClassCollection.length; i++) {
    
                amountsClassCollection[i].readonly = true;
                amountsClassCollection[i].editReqAmount = function() {
                    return false;
                };
    
            }
        }
    
    var statusClassCollection=document.getElementsByClassName('req-status');
    var textContent_标准=[‘已支付’、‘待支付’];
    var approvedReqsCollection=Array.prototype.filter.call(
    statusClassCollection,
    ({
    文本内容
    })=>textContent\u标准。包括(textContent)
    );
    对于(j=0;j
    以下是示例。如果存在任何
    已支付
    待支付
    span元素,我猜您希望将所有输入设置为只读

    const statusClassCollection=document.getElementsByClassName(“请求状态”);
    成本标准=[“已支付”、“待支付”];
    让isCriteriaMatched=false;
    for(设i=0;i
    
    支付
    待付款
    待付款
    支付
    
    class
    req status
    元素的HTML是什么?@ikhvjs