簡體   English   中英

如何使用jQuery通過.filter傳遞變量

[英]How to pass a variable through .filter using jquery

我設法將一張表從另一個頁面插入到名為res的變量中。

我需要將此變量通過過濾器進行search

我通過使用.parents()得到對應的表行。

當表格與jQuery位於同一頁面時,此過濾器起作用,但在使用$.get()時,此過濾器不起作用。

下面是我的方法:

$.get('oncalltable.html', function(res) {

    var d = new Date();

    var month = d.getMonth()+1;
    var day = d.getDate();
    var year = d.getFullYear();

    var oncalldate = ((''+month).length<2 ? '0' : '') + month + '/' +
        ((''+day).length<2 ? '0' : '') + day + '/' + year % 100;

    var search = oncalldate;

    var todayoncall = $("span").filter(function() {
        return $(this).text() == search;
    }).parents('tr');

    console.log(oncalldate, res, todayoncall);

    $('.test span').append(todayoncall);

});

jQuery選擇器針對DOM起作用。 oncalltable.html不在DOM中,它只是變量內的文本,恰好類似於HTML。

我猜您希望您的$(“ span”)選擇器看到oncalltable.html的內容。 這不是因為您要查找的<span> (在oncalltable.html中)不在DOM中。

如果(並且僅)您非常有信心在oncalltable.html中獲取的數據現在並且始終是完全可信賴的,則可以通過將該html加載到頁面中來將其添加到DOM中。

一種方法是將“ res”的內容分配給某些現有頁面元素的.innerHTML。 如果您擁有(或決定制作一個)隱藏的div來在解析數據時保存您的數據:

<div id="whereResGoes" style="display:none"></div>

然后在函數中傳遞給$ .get(就在使用$('span')選擇器的部分上方),運行

$('whereResGoes').html(res);

現在,它已加載到您的DOM中,並且您的$('span')選擇器可以看到它。

請注意,由於此方法使oncalltable.html成為頁面的一部分,就像讓oncalltable.html的作者在頁面上寫下他們想要的任何內容一樣。 如果該頁面遭到破壞,您的頁面也會受到損害。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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