我在jQuery中請求使用$ .get的完整頁面,並希望獲取特定元素的內容。另外,這裏的東西怎麼看:
$.get("/page.html").done(function(data) {
// get textArea.
});
,我想:
document.getElementByTagName("textArea")[0].value;
,但我不能對數據確實getElementByTagName那麼什麼是做到這一點的最好方法是什麼?
我在jQuery中請求使用$ .get的完整頁面,並希望獲取特定元素的內容。另外,這裏的東西怎麼看:
$.get("/page.html").done(function(data) {
// get textArea.
});
,我想:
document.getElementByTagName("textArea")[0].value;
,但我不能對數據確實getElementByTagName那麼什麼是做到這一點的最好方法是什麼?
我試圖用找到,但沒有工作,所以我結束了使用過濾器和返回我需要textarea的值:
$.get("/page.html").done(function(data) {
var textArea = $(data).filter("textarea")[0].innerText;
});
你可以試試jquery load()函數。
它將從遠程服務器加載並將文檔插入選定的元素。
它還允許我們指定要插入的遠程文檔的一部分。
假設遠程的textarea的ID是「遠程」,你想獲取遠程內容到一個文本,如果你想獲得遠程textarea的哪個ID是「本地」
var result="";
$("#local").load("/page.html #remote", function(response, status, xhr){
result=$(this).find("#remote").val();
});
我不知道並插入到當前文檔的元素中。
如果你只是想獲得遠程textarea的價值,你可以只隱藏加載函數調用元素
希望這是對你有幫助。
它與你所做的略有不同,但我認爲它可以提供幫助。您可以撥打.load
代替get
和整個頁面添加到一個div說<div id="mydiv"></div>
var value;
$('#mydiv').load('xyz.html',function(){value=$('#mydiv').find('#mytextarea').val()})
但是如果你不想mydiv
顯示一旦主網頁被加載,你可以在開始時隱藏,如果你也別在你的頁面上不需要這個div,你可以在完成上述任務後刪除它。
$(document).ready(function(){
$('#mydiv').hide();
var value;
$('#mydiv').load('xyz.html',function(){value=$('#mydiv').find('#mytextarea').val()});
$('#mydiv').remove();
})
這會消耗性能,並且會影響數據加載的方式,因爲每次請求數據時,都會將其加載到頁面中,隱藏,處理它,然後刪除它,這是一個比它更長的過程應該是吧? – user220755
@ user220755來獲取html文件的數據,就像在你的textarea的問題值中從服務器注入該文件一樣,需要到當前頁面的DOM結構中,爲此目的'load'是最合適的選擇。我不是web開發專家,但我認爲與完成任務相比,性能成本非常低。請看看這個鏈接http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – UDB
// STR代表page.html中
var str = 'gibberish gibberish <textarea class="test">hello world</textarea>gibberish';
$.each($.parseHTML(str), function(i, el) {
if(el.firstChild) console.log(el.firstChild);
});
這確實返回了textarea文本,但是,它也返回了其他一些東西。比如頁面的樣式,例如... – user220755
由於您使用jQuery反正...你試圖$(data).find('textarea').first().val()
了嗎?
這是假定data
是一個片段。如果不是這樣,你會想要將它包裝在div
或其他東西中。
這實際上並沒有工作,它返回undefined :( – user220755
你到底想幹什麼?你只需要這個價值?如果是這樣,你不能讓服務器返回JSON中的東西嗎? – Matijs