如何使用jquery通过.load通过跨域获取HTML元素的值
Posted
技术标签:
【中文标题】如何使用jquery通过.load通过跨域获取HTML元素的值【英文标题】:how to get value of HTML element via .load via cross domain using jquery 【发布时间】:2014-08-20 17:34:33 【问题描述】:如何通过跨域通过 .load 函数获取 html 元素的价值? .load 功能完美,但不知道如何丰富单个元素的价值?
我想获取值的 HTML 代码:
<div class="temeratura">
<ul id="temperatura_lista">
<li id="temp_Sypialnia" value="22.25">Temp. Sypialnia: 22.25</li>
<li id="temp_MalyPokoj" value="19.75">Temp. Mały pokój: 19.75</li>
<li id="temp_Salon" value="23.00">Temp. Salon: 23.00</li>
</ul>
我的 JS 在其他服务器上的其他 HTML 页面上(有效):
<script>
$( '#new-tempSypialnia' ).load( "http://some.address.com/index.html #temp_Sypialnia("value")" );
</script>
【问题讨论】:
如果我可以使用 php,那将不是问题,但我不能。有没有使用js的解决方案? 【参考方案1】:注意,value
属性可以将 22.25
设置为 22
,参见 jsfiddle 中的 console
,其中 22
由 element.val()
、element[0].value
和 @987654331 返回@ . 22.25
由element.data("value")
从html
data-*
属性返回。
试试
html
<!-- added `data-value` attributes ,
having same `value` as `value` attributes ,
to maintain same `data-value` when processed
-->
<div class="temeratura">
<ul id="temperatura_lista">
<li id="temp_Sypialnia" data-value="22.25" value="22.25">Temp. Sypialnia: 22.25</li>
<li id="temp_MalyPokoj" data-value="19.75" value="19.75">Temp. Mały pokój: 19.75</li>
<li id="temp_Salon" data-value="23.00" value="23.00">Temp. Salon: 23.00</li>
</ul>
js
$("#new-tempSypialnia")
.load("http://some.address.com/index.html #temp_Sypialnia #temp_Sypialnia"
, function(data)
var val = $(data).find("#temp_Sypialnia");
// console.log("`elem.data('value')`:", val.data("value")
// , "`elem.val()`:", val.val()
// , "`elem[0].value`:", val[0].value);
var result = val.data("value");
alert(result);
);
jsfiddle http://jsfiddle.net/guest271314/ckLv2eub/
见
.load(),complete
回调
How to handle floats and decimal separators with html5 input type number
【讨论】:
以上是关于如何使用jquery通过.load通过跨域获取HTML元素的值的主要内容,如果未能解决你的问题,请参考以下文章
jquery load()怎么解决跨域加载页面 比如$("#id").load("www.demo.com/?ct=index&ac=index") 谢