Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery mobile 更改指向弹出id jquery Mobile的href属性_Jquery Mobile_Popup_Href - Fatal编程技术网

Jquery mobile 更改指向弹出id jquery Mobile的href属性

Jquery mobile 更改指向弹出id jquery Mobile的href属性,jquery-mobile,popup,href,Jquery Mobile,Popup,Href,如何使用jquery更改充当jquery移动弹出窗口的div的id以及指向弹出窗口的锚点的href? 在我的webapp中,我有一个锚,当点击它时,会弹出一个jquery移动弹出div,我正在动态插入它。在webapp的任何实例中,我都不知道这段代码会被插入多少次。因此,我的理解是,我需要能够动态地为jquery mobile popup div创建一个唯一的id,并设置我的popup图标的href 我目前没有成功地动态更改id和href。我创建了以下测试() 以下是我的html示例: <

如何使用jquery更改充当jquery移动弹出窗口的div的id以及指向弹出窗口的锚点的href?

在我的webapp中,我有一个锚,当点击它时,会弹出一个jquery移动弹出div,我正在动态插入它。在webapp的任何实例中,我都不知道这段代码会被插入多少次。因此,我的理解是,我需要能够动态地为jquery mobile popup div创建一个唯一的id,并设置我的popup图标的href

我目前没有成功地动态更改id和href。我创建了以下测试()

以下是我的html示例:

<div class="phone1">
  <p class="textLeft"> <strong>Number: </strong><span>(555)555-5555</span>
    <a href="#myPopup" data-rel="popup" data-transition="pop" class="my-tooltip-btn ui-corner-all ui-btn ui-alt-icon ui-nodisc-icon ui-btn-inline ui-icon-info ui-btn-icon-notext ui-corner-all" title="Learn more">Learn more</a>
  </p>
    <div id="myPopup" data-role="popup" class="ui-content" data-theme="a" style="max-width:350px;">
      <p class="flagText">This number has been flagged as incorrect</p>
    </div>
</div>
<a href="#" class="ui-btn ui-btn-inline ui-btn ui-mini ui-corner-all ui-shadow" id="changeButton">Change href property</a>

提前感谢您的帮助

由于您的定位点不是.phone1的直接子项而是孙子,因此>选择器不起作用。href还需要#符号:

从技术上讲,您还应该使用prop更新id:

$('#myPopup').prop('id', 'myNewPopup');
更新

你确定你需要这样做吗。在第一次动态插入弹出窗口后,您可以通过测试它是否存在于DOM中来更新它:

if ($("#myPopup").length > 0){
    //update
} else {
    //create
}

谢谢你。我不确定我是否需要“#”并且我的测试选择器是错误的(令人尴尬)。在我修复了“#”之后,出现了一个新问题,jqm以某种方式重新排序DOM,因此我的选择器指向了由jqm创建的占位符div,而不是我打算修改的实际弹出div。当我试图更改$('selector').prop('id','myNewPopup')时,我更改的是弹出式占位符的id,而不是弹出式占位符。将我的选择器从$(.myClass>div)更改为在我插入的html中编码的$('#myPopup'),修复了该行为。非常感谢你。
$('#myPopup').prop('id', 'myNewPopup');
if ($("#myPopup").length > 0){
    //update
} else {
    //create
}