在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。
关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:
- 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
- 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
上面的描述也许有点模糊,举几个例子就知道了。
<a href="http://www.baidu.com" target="_self" class="btn">百度</a>
这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是 W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。
<a href="#" id="link1" action="delete">删除</a>
这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自 己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性值时,都会返回
undefined值。
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。如果上面使用attr方法,则会出现:
$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"
下拉框设置value为pxx的项选中
$(".selector").val("pxx");
设置text为pxx的项选中
$(".selector").find("option[text='pxx']").attr("selected",true);
获取当前选中项的text
$(".selector").find("option:selected").text();
select下拉框的第二个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$('input[@name=items]').get(1).checked = true;
$("#select_id").get(0).defaultValue //dom 对象
选中的个数$("input[name='goods_id[]']:checked").size();
单选组radio: $("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
$("input[name='items']:checked").val();
$("#checkbox_id").prop("checked"); //获取一个CheckBox的状态(有没有被选中,返回true/false)
$("#checkbox_id").prop("checked",true); //设置一个CheckBox的状态为选中(checked=true)
$("#checkbox_id").prop("checked",false); //设置一个CheckBox的状态为不选中(checked=false)
$("#checkbox_id").prop("checked", $(this).is(':checked') ? false : true);
$("#text_id").val().split(","); //将Text的Value值以','分隔 返回一个数组
<dd>
<a cateid="118" class="open" href="#">个护化妆</a>
<ul class="open_ul">
<li><a href="http://www.test.com/10/1001.html">面部护理</a></li>
<li><a href="http://www.test.com/10/1002.html">身体护理</a></li>
<li><a href="http://www.test.com/10/1003.html">口腔护理</a></li>
<li><a href="http://www.test.com/10/1005.html">女性护理</a></li>
<li><a href="http://www.test.com/10/1006.html">魅力彩妆</a></li>
<li><a href="http://www.test.com/10/e-ae-spa.html">香水SPA</a></li>
<li><a href="http://www.test.com/10/c-a-aes-c.html">男士护理</a></li>
</ul>
<div><img src="http://www.test.com/skin/frontend/default/ddl_v3/imgs/mall/mall_menu_line.png"></div>
</dd>
<script type="text/javascript">
$("dd").find('a').attr("class", 'close');
$("dd").find('div').remove(); //删除div标签
$("dd").find('ul').removeAttr().remove(); //删除ul标签
</script>
1.在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");
2.在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input[@type='radio']").attr("checked","true");
取父窗口的元素方法:$(selector, window.parent.document);
那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);
类似的,取其它窗口的方法大同小异
$(selector, window.top.document);
$(selector, window.opener.document);
$(selector, window.top.frames[0].document);
分享到:
相关推荐
本篇文章将详细讲解如何利用jQuery实现iframe页面的切换功能,以便于创建更丰富的用户体验和更高效的页面加载策略。 首先,我们需要理解iframe的基本概念。Iframe(Inline Frame)是HTML中的一个元素,它允许我们在...
本教程将详细讲解如何使用jQuery来实现iframe的功能。 首先,我们需要在HTML页面中引入jQuery库。通常,我们可以通过CDN链接或者本地文件引用的方式进行引入。例如,使用CDN链接可以这样写: ```html ...
在这个“两个jquery实现iframe多标签页例子”中,我们将探讨如何利用jQuery来创建具有动态切换功能的多标签页,并在每个标签页内嵌入iframe,以展示不同的Web内容。 首先,`iframe`(inline frame)是一种HTML元素...
用jQuery实现iframe高度自适应 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> $(document).ready(function() { function resizeIframe() { var iframe = $('#myIframe'); if ...
总结,"jquery 跨iframe拖拽"是利用jQuery和jQuery UI的拖拽功能,结合跨IFrame通信技术,实现元素在不同IFrame之间的动态交互。虽然涉及的技术点较多,但正确理解和运用这些工具,可以为用户带来更丰富的交互体验。
本主题将深入探讨如何使用jQuery实现一个简单的、实用的iframe弹出层。通过这个教程,您将了解到如何创建一个能够加载外部网页或内容到弹出窗口中的功能。 首先,确保在您的项目中引入了jQuery库。您可以从jQuery...
本文实例讲述了jQuery实现iframe父窗体和子窗体的相互调用方法。分享给大家供大家参考,具体如下: 父窗体 <html> <head> <title>usually function</title> </head> <body>...
- `jquery.iframe-auto-height.js`:这是主要的插件脚本文件,包含了上述功能的实现代码。 - 可能还会有示例HTML文件,展示如何在页面中正确引入和使用插件。 - 如果有,`README.md`或`.txt`文件会提供详细的使用...
本篇将深入探讨jQuery的核心库以及两个重要的插件——jQuery File Upload和jQuery Iframe Transport。 首先,jQuery的核心库jQuery-1.8.3.min.js和jQuery-2.1.4.min.js是其发展过程中的两个稳定版本。1.8.3属于1.x...
不过,当iframe和父页面属于同一域时,可以通过JavaScript或jQuery来操作父页面中的元素和方法。本文将详细介绍如何使用jQuery来查找和操作iframe父页面中的元素和方法。 首先,需要明确iframe元素可以被视为一个...
文中提到,在进行测试时,发现chrome无法正常实现iframe元素操作,可能是因为测试环境没有配置为一个有效的站点。在开发过程中,确保测试环境与生产环境保持一致是非常重要的,尤其是在进行跨域相关的测试时。 7. ...
传统上,iframe是实现这一功能的常用方法之一。然而,由于iframe存在一些局限性,比如不利于SEO优化、在响应式设计中的兼容性问题等,开发者们开始寻找更好的替代方案。jQuery和ajax技术的结合,提供了一种更为高效...
通过使用jQuery来实现iframe的高度自适应,我们可以确保内容在不同浏览器(包括IE、Firefox、Safari和Chrome)中的显示一致性,无论iframe内嵌的页面有多复杂。 首先,我们需要理解iframe的基本概念。IFrame,即...
同时,需要有一个iframe元素来显示被选中的页面内容。 ```html 页面1 页面2 <!-- 更多页面链接 --> <iframe id="content-iframe" src="page1.html"></iframe> ``` 2. **CSS样式**:接下来,为导航菜单和...
在实现iframe自适应高度方面,jQuery提供了强大的工具集,可以轻松地进行DOM操作,从而实现对iframe内容高度的实时监测和调整。 ### 4. 实现方法 下面是一段基于jQuery实现iframe自适应高度的示例代码: ```...
在网页开发中,有时我们需要实现一种交互效果,即在用户点击特定按钮时,隐藏嵌入在页面中的`iframe`元素。这种效果对于提高用户体验、控制页面布局或在多页面交互场景下尤为有用。本篇文章将深入讲解如何使用`...
在网页设计中,jQuery Tab是一种常见的用户界面组件,用于实现多面板切换效果,通常用于展示不同的内容区域。当这些内容区域包含外部资源,如网页或应用程序时,我们可能需要使用`iframe`(Inline Frame)来嵌入这些...
5. **通信机制**:使用`window.postMessage`方法实现Iframe与主页面间的通信。这个方法允许跨窗口的数据传递,即使它们来自不同的源。发送端使用`postMessage`发送数据,接收端通过`message`事件监听数据。 6. **...
可是 iframe的大小却不像层那样可以“伸缩自如”,所以带来了使用上的麻烦,给iframe设置高度的时候多了也不好,少了更是不行,今天我们就来分享2种使用jquery实现iframe自适应高度的代码