如何使用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,其中 22element.val()element[0].value 和 @987654331 返回@ . 22.25element.data("value")htmldata-*属性返回。

试试

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加载本地文件出现跨域错误的解决方案

jquery load()怎么解决跨域加载页面 比如$("#id").load("www.demo.com/?ct=index&ac=index") 谢

jquery通过load获取文件的内容并跳到锚点的方法

如何访问通过 jQuery load() 发送到 div 的 URL 参数

如何通过跨域 ajax 获取响应头?

如何使用 jQuery 获取跨域数据?得到错误[重复]