ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – jQuery Mobile Beta:不能再使用$(‘[data-role = header]’)?

2019-09-03 06:37:35  阅读:135  来源: 互联网

标签:javascript jquery jquery-mobile


我曾经能够掌握

$('[data-role=header]').first().height()

在使用jQuery 1.5.2的alpha中,但不再可以使用jQuery 1.6.1进行测试.有什么变化?

完整代码 – 这将0写入console.log …

<!DOCTYPE html> 
<html> 
 <head> 
 <title>Page Title</title> 
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
 <script type="text/javascript"
  src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
 <script type="text/javascript">
 $(document).ready(function() {
 console.log($('[data-role=header]').first().height());
 });
 </script>
</head> 
<body> 
<div data-role="page" id="home">

       <div data-role="header">
       <h1>Header</h1>
       </div>
 <div data-role="content">
         //lots of code
        </div>
 </div>
 </body>
</html>

但是,将其更改为jQuery 1.5.2和jQuery Mobile alpha:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>

它写入标题div的非零高度.

顺便说一下,它与jQuery 1.6.1也不是零,但没有jQuery Mobile.所以它与jQuery Mobile渲染有关.

release notes中看不到任何可能发生的事情,但我不是jQuery专家.

解决方法:

看起来他们确实改变了一些语法,Docs:

> http://jquerymobile.com/demos/1.0b1/docs/api/methods.html

When finding elements by their jQuery
Mobile data attribute, please use the
custom selector :jqmData(), as it
automatically incorporates namespaced
data attributes into the lookup when
they are in use. For example, instead
of calling $(“div[data-role=’page’]”),
you should use
$(“div:jqmData(role=’page’)”), which
internally maps to $(“div[data-“+
$.mobile.ns +”role=’page’]”) without
forcing you to concatenate a namespace
into your selectors manually.

试试这个:

$("div:jqmData(role='header')").first().height()

标签:javascript,jquery,jquery-mobile
来源: https://codeday.me/bug/20190903/1796185.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有