jq怎么jq获取div下所有标签一个div里面的所有元素的宽度,然后累加起来,在把这个宽度给父级元素。

123456789101112131415161718&script src=&jquery.js&&&/script&
&div id=&a1&&
& & &div class=&aa& style=&width: 200&&&/div&
& & &div class=&aa& style=&width: 180&&42342&/div&
& & &div class=&aa& style=&width: 150&&123123&/div&
$(&#a1 .aa&).each(function(){
& & w += $(&#a1 .aa&).width();//获取宽度。并累加
$(&#a1&).width(w)
& & & & display: inline-
本来结果应该是这样的的
但是把行内样式去掉之后,结果就好大了。
为什么把行内样式去掉。就这样了呢????
标签对放到
之前你的代码结构如果没有行内样式,会先把
处理,宽度为100%js处理完成之后才读取style标签对,把
1行内块级元素
,宽度缩短同步的代码要把位置摆正确
w += $(“#a1 .aa”).width();//获取宽度。并累加
1w += $(this).width();
把style里的样式放在最上边,页面加载是从上往下加载的,div是块级元素,.aa{display:inlne-}在最下边并没有起作用
12345$(&#a1 .aa&).each(function(){
& & w += $(&#a1 .aa&).width();
& & //这里用错了,应该用$(this).width(),不然累加的是第一个的宽度,
& & //用w += $(this).width();我这本地测试530px
12$(&#a1 .aa&).width();//这样默认取的是第一个.aa的宽度,也就是200,所以最后是600
第二次你删除行内样式后,得到div占据一行的宽度(因为inline-block还没生效),所以得到三倍的整行宽度
你没有理解
1$(selector)
的真正意思去查查会返回什么就知道问题了
123$(&#a1 .aa&).each(function(){
& & w += $(&#a1 .aa&).width(); // 这一句会返回什么?
另一个问题要明白 样式 到哪里才会被加上,会被提前加载吗?而 script 的执行是怎样?
本文出自汗血宝马,转载时请注明出处及相应链接。
本文永久链接: http://www.caotama.com/103472.html
Ɣ回顶部JQuery/HTML 通过this参数获取其父级div的html内容_百度知道
JQuery/HTML 通过this参数获取其父级div的html内容
通过this参数获取其父级div的html内容
&div id=&22&&
ondblclick=&A(this)&
src=&...&&
function A(temp){
alert(temp.parentNode.html());
要达到取该div里面HTML的内容,上面的js写的alert(temp.parentNode.html(...
我有更好的答案
parentNode.innerHTML&}&nbsp你好!;&nbsp!使用jQuery么;&nbsp?//jQuery的方式:function&A(temp){&&&&alert(&&&$(temp).parent().html()&//javascript方式function&A(temp){&&&&alert(&);)
采纳率:56%
来自团队:
temp.parent().html()
为您推荐:
其他类似问题
jquery的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JQuery如何监听一个DIV宽高的变化?_百度知道
JQuery如何监听一个DIV宽高的变化?
我有更好的答案
你可以试试html5的API:MutationObserver,非常强大可以监控一切变动;特性如下:1、它等待所有脚本任务完成后,才会运行,即采用异步方式2、它把DOM变动记录封装成一个数组进行处理,而不是一条条地个别处理DOM变动。3、它即可以观察发生在DOM节点的所有变动,也可以观察某一类变动详细说就是,事件是同步触发,也就是说DOM发生变动立刻会触发相应的事件;Mutation Observer则是异步触发,DOM发生变动以后,并不会马上触发,而是要等到当前所有DOM操作都结束后才触发。举例来说,如果在文档中连续插入1000个段落(p元素),会连续触发1000个插入事件,执行每个事件的回调函数,这很可能造成浏览器的卡顿;而Mutation Observer完全不同,只在1000个段落都插入结束后才会触发,而且只触发一次。当然,一般情况下没什么问题。示例代码如下:var callback = function(records) {
records.map(function(record) {
console.log('变动 type: ' + record.type);
console.log('变动 target: ' + record.target);
});};var obser = new MutationObserver(callback);var obj = document.getElementById('right_col_peck');var options = {
attributes: true,
attributeFilter: ['class']};obser.observe(obj, options);//开始监听//obser.disconnect();//停止监听Ps:MutationObserver所观察的DOM变动(即上面代码的options对象),包含以下类型:1、childList:子元素的变动2、attributes:属性的变动3、characterData:节点内容或节点文本的变动4、subtree:所有下属节点(包括子节点和子节点的子节点)的变动
采纳率:45%
.info&#39.
$('/ Resize manually when the link is clicked, but only for the first paragraph.
$(this); Update all info divs immediately.height() );}); Add text after inline &add text& links.closest(', to grow
+ elem.append( ' Adding some more text,可以监听几乎所有html标签,比如text.width() + ': ' +});&#47!' ););
$(this).parent().click(function(e){
e.preventDefault();.test&#39.
$('/&#47.find(');)。$(function(){
/&#47.tagName + ' width给你推荐一个jquery重新封装resize代码、p.parent().resize()、span等; to});});.add_text&#39: &#39.container' Bind the resize event. When any test element&#39、div,)
.text( this!
s size changes, update its
// corresponding info div.
$('.resize();
// Update the info div width and height - replace this with your own code
/&#47.test').resize(function(){
var elem = $(this);
/&#47
本回答被提问者采纳
为您推荐:
其他类似问题
jquery的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。如何遍历获得div里面所有a标签,并为每一个div添加自增的id和对应的事件。_百度知道
如何遍历获得div里面所有a标签,并为每一个div添加自增的id和对应的事件。
.getElementsByTagName(&a&quot? &current&
for (i = 0; i &lt.className = i == n 以前写的a标签正被打开的单独样式的事件
function setTab(n) {
var tli = document.getElementById(&): &&;); tli. i++) {
tli[i];ulinfo&quot
我有更好的答案
});}).each(function(){this.id = i:获得div里面所有a标签$(&quot.id);div a&)为每一个div添加自增的id和对应的事件。var i=0;$(&div&quot.click(function(){alert();i++;$(this)用jQuery,非常简单
我想实现的是,遍历某个div里面的a标签,然后给这里面的a标签添加自增id,再依次给这些a标签按顺序添加onclick事件实现正被打开的a标签单独的样式。onclick事件以前写过,不过是已经定好了id的手动添加的onclick事件。 我现在想网页运行就自动有这些属性和事件。谢谢了。
你用不用jQuery?
用,可以实现就行,只不过我没怎么学JQuery
遍历某个div里面的a标签,然后给这里面的a标签添加自增id,再依次给这些a标签按顺序添加onclick事件实现正被打开的a标签单独的样式。var i=0;// divid就是某个div的id,each是遍历这个div下的所有a标签$(&#divid a&).each(function(){
this.id =// 设置每个a标签的id为自增id
$(this).click(function(){
// 设置每个a标签的onclick事件,在这里你想干吗都可以
这样子不会自动加载吧,并且我放在body的onload里面也没起到作用。怎么让他网页打开就有这效果呢。
把这段代码加入(ready就是类似于onload功能):$(document).ready(function(){上面的代码});
恩,这样子可以了,只不过还有点问题就是,每一个点击过的都会是那个样式,我想实现最近点击的一个有单独的样式。
采纳率:68%
以考虑先获取这个div 然后再取所有子节点然后判断是否为&lt。当然要是用jQuery的话 就很简单了 $(&#div的id a&)取到div中的所有&a&a& 再进行操作
html部分:&div class=&tsm&&&a href=&#&&ts1&/a&&a href=&#&&ts2&/a&&a href=&#&&ts3&/a&&a href=&#&&ts4&/a&&a href=&#&&ts5&/a&&a href=&#&&ts6&/a&&/div& jquery部分var len=$(&.tsm a&). for(var m=0;m&m++){
var as=$(&.tsm a&)
as[m].id=m;
} $(&.tsm a&).click(function (){
var n=$(&.tsm a&).index(this);
$(&.tsm a&).eq(n).css({color:&red&}).siblings(&a&).css({color:&blue&})
恩,这样子可以了,只不过还有点问题就是,每一个点击过的都会是那个样式,并不是我所想要的单一的。我想实现最近点击的一个有单独的样式。
请叫我姐姐
额,不好意思,姐姐编程这么厉害,可不可以教我啊。嘿嘿
我的技术不行啊
也是在摸索
,我才刚接触,比你更菜。情何以堪
为您推荐:
其他类似问题
div的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 jq获取div下所有标签 的文章

 

随机推荐