我正在尝试从jquery post返回数据中选择一个元素。字符串正在返回但是当我尝试从返回的html字符串中选择一个元素时,选择始终为null。这是一个正在加载greasemonkey的用户脚本。
refresh();
function refresh(___id,___action,___page){
$.post("http://www.example.com", {auction_id:___id,action:___action,page:___page}, function(bidpage){
var auction_id = $("#auction_id", bidpage).val();
console.log(auction_id);
});
此帖回复此数据
<html><head></head><body><input type="hidden" name="auction_id" id="auction_id" value="8583949"></body></html>
但auction_id
始终为空。无法找到任何解决方案。谢谢你的帮助。
答案 0 :(得分:0)
这是因为你将bidpage
作为字符串。您需要先将其转换为HTML:
var auction_id = $("#auction_id", $( bidpage ) ).val();
由于jQuery API [context]
应该是DOM Element,Document或jQuery。
COMMENT:
看起来像jQuery strip <html>
和<body>
元素,所以你需要使用:
var auction_id = $( bidpage ).val();
答案 1 :(得分:0)
你可以尝试将你的帖子数据添加到div:
<div id="appendpostdatahere"></div>
function refresh(___id,___action,___page){
$.post("http://www.example.com", {auction_id:___id,action:___action,page:___page},
function(bidpage){
$('#appendpostdatahere').html(bidpage);
var auction_id = $('#auction_id).val();
console.log(auction_id);
});
}