Jquery 数据iconpos=";“左”;转变为数据iconpos=";对",;当页面呈现时
这是我的HTML:Jquery 数据iconpos=";“左”;转变为数据iconpos=";对",;当页面呈现时,jquery,html,jquery-mobile,Jquery,Html,Jquery Mobile,这是我的HTML: <body> <ul data-role="listview" data-inset="true" data-iconpos="left" data-theme="content-list-main"> <li data-icon="viewpolicy" data-iconpos="left"><a href="pages/myPolicy/myPolicy.html">View My Policy
<body>
<ul data-role="listview" data-inset="true" data-iconpos="left" data-theme="content-list-main">
<li data-icon="viewpolicy" data-iconpos="left"><a href="pages/myPolicy/myPolicy.html">View My Policy</a></li>
<li><a class="ui-icon-viewidcards" href="pages/autoVehicles/autoVehicles.html">View Auto ID Cards</a></li>
<li><a class="ui-icon-paybill" href="pages/payMyBill/payMyBill.html">Pay My Bill</a></li>
<li><a class="ui-icon-roadside" href="pages/roadside/roadside.html">Roadside/Accident Assistance</a></li>
<li><a class="ui-icon-claimscenter" href="pages/claimCenter/claimCenter.html">Claim Center</a></li>
</ul>
</body>
以下是我使用Chrome检查元素时的外观:
<ul data-role="listview" data-inset="true" data-iconpos="left"
data-theme="content-list-main"
class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
<li data-icon="viewpolicy" data-iconpos="right" data-corners="false"
data-shadow="false" data-iconshadow="true" data-wrapperels="div"
data-theme="content-list-main"
class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-first-child ui-last-child ui-btn-up-content-list-main">
<div class="ui-btn-inner ui-li">
<div class="ui-btn-text">
<a href="pages/myPolicy/myPolicy.html" class="ui-link-inherit">View My Policy</a>
</div>
<span class="ui-icon ui-icon-viewpolicy ui-icon-shadow"> </span>
</div>
</li>
</ul>
-
请注意,由于某些原因,li的属性呈现为数据iconpos=“right”
下面是正在加载的JS文件:
<script src="js/jquery-1.10.2.js"></script>
<script src="js/jquery.mobile-1.3.2.js"></script>
你知道为什么数据iconpos=“left”根本无法坚持吗
谢谢,我找到了问题的根源 在jquery.mobile-1.3.2.js的第6322行,您将发现以下代码块:
if ( create || !item.hasClass( "ui-li" ) ) {
itemTheme = item.jqmData( "theme" ) || o.theme;
a = this._getChildrenByTagName( item[ 0 ], "a", "A" );
var isDivider = ( item.jqmData( "role" ) === "list-divider" );
if ( a.length && !isDivider ) {
icon = item.jqmData( "icon" );
item.buttonMarkup({
wrapperEls: "div",
shadow: false,
corners: false,
iconpos: "right",
icon: a.length > 1 || icon === false ? false : icon || listicon || o.icon,
theme: itemTheme
});
您可以在第6334行看到iconpos硬编码为“右”。我不知道他们为什么要这样做。我可以理解一个默认值,但正如我所看到的,没有理由使用硬编码值。利用一个简单的变量尝试为li拉取iconpos提供了一个合适的修复
if ( create || !item.hasClass( "ui-li" ) ) {
itemTheme = item.jqmData( "theme" ) || o.theme;
a = this._getChildrenByTagName( item[ 0 ], "a", "A" );
var isDivider = ( item.jqmData( "role" ) === "list-divider" );
var ipos = item.jqmData("iconpos") || "right";
if ( a.length && !isDivider ) {
icon = item.jqmData( "icon" );
item.buttonMarkup({
wrapperEls: "div",
shadow: false,
corners: false,
iconpos: ipos,
icon: a.length > 1 || icon === false ? false : icon || listicon || o.icon,
theme: itemTheme
});
我已经用可能的iconpos值和完全缺少属性来测试了这一点,到目前为止,它在所有情况下都能正常工作
请让我知道,如果有人知道为什么该值需要硬编码为“正确”。。。但我很有信心,要使数据iconpos真正正常运行,这种更改是必要的。我找到了问题的根源 在jquery.mobile-1.3.2.js的第6322行,您将发现以下代码块:
if ( create || !item.hasClass( "ui-li" ) ) {
itemTheme = item.jqmData( "theme" ) || o.theme;
a = this._getChildrenByTagName( item[ 0 ], "a", "A" );
var isDivider = ( item.jqmData( "role" ) === "list-divider" );
if ( a.length && !isDivider ) {
icon = item.jqmData( "icon" );
item.buttonMarkup({
wrapperEls: "div",
shadow: false,
corners: false,
iconpos: "right",
icon: a.length > 1 || icon === false ? false : icon || listicon || o.icon,
theme: itemTheme
});
您可以在第6334行看到iconpos硬编码为“右”。我不知道他们为什么要这样做。我可以理解一个默认值,但正如我所看到的,没有理由使用硬编码值。利用一个简单的变量尝试为li拉取iconpos提供了一个合适的修复
if ( create || !item.hasClass( "ui-li" ) ) {
itemTheme = item.jqmData( "theme" ) || o.theme;
a = this._getChildrenByTagName( item[ 0 ], "a", "A" );
var isDivider = ( item.jqmData( "role" ) === "list-divider" );
var ipos = item.jqmData("iconpos") || "right";
if ( a.length && !isDivider ) {
icon = item.jqmData( "icon" );
item.buttonMarkup({
wrapperEls: "div",
shadow: false,
corners: false,
iconpos: ipos,
icon: a.length > 1 || icon === false ? false : icon || listicon || o.icon,
theme: itemTheme
});
我已经用可能的iconpos值和完全缺少属性来测试了这一点,到目前为止,它在所有情况下都能正常工作
请让我知道,如果有人知道为什么该值需要硬编码为“正确”。。。但我很有信心,要使数据iconpos真正正常运行,这种更改是必要的。可能是因为在listview的情况下,默认情况是此时正确,表示它已关闭并且可以打开?我不使用jQM,可能是因为在listview的情况下,默认情况下它在该点是正确的,表示它已关闭并且可以打开?只是在黑暗中拍摄,我不使用jQM。