Javascript 这个小小的jQuery代码似乎不起作用。。有人知道为什么吗?
如果我运行它。它不返回任何错误。在firebug中,它确实在DOM中选择了适当的元素 如果我把它拆开,做这样的事情:Javascript 这个小小的jQuery代码似乎不起作用。。有人知道为什么吗?,javascript,jquery,refactoring,Javascript,Jquery,Refactoring,如果我运行它。它不返回任何错误。在firebug中,它确实在DOM中选择了适当的元素 如果我把它拆开,做这样的事情: $('img[hspace]').css('marginLeft', ($('img[hspace]').attr('hspace') / 2) + 'px') 这很有效 这是整个怪物 $('img[hspace]').each(function(el){ var pixels = parseInt($(el).attr('hspace')); if(isNaN
$('img[hspace]').css('marginLeft', ($('img[hspace]').attr('hspace') / 2) + 'px')
这很有效
这是整个怪物
$('img[hspace]').each(function(el){
var pixels = parseInt($(el).attr('hspace'));
if(isNaN(pixels) || pixels < 1)
pixels = 0;
else
pixels = pixels / 2;
$(el).css('marginLeft', pixels + 'px')
.css('marginRight', pixels + 'px')
.removeAttr('hspace');
});
$('img[hspace]')。每个(函数(el){
var pixels=parseInt($(el).attr('hspace');
如果(isNaN(像素)| |像素<1)
像素=0;
其他的
像素=像素/2;
$(el).css('marginLeft',像素+'px')
.css('marginRight',像素+'px')
.removeAttr('hspace');
});
更新
我的HTML:
`<div class='grid_7'>
<p><p>
this is mys</p>
<p>
<img align="left" alt="dude its me" border="10" height="168" hspace="30" src="http://s3.amazonaws.com/hq-photo/root/system/photos/6187/resized_orig/photo.jpg" vspace="10" width="130" /></p>
<p>
this is as good as it gets</p>
<p>
this isasd</p>
<p>
sdfasdfasdfasdfasd</p>
<p>
asdfasdfasdf</p>
<p>
asdfa</p>
<p>
sdfasdfasdf</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
<img align="right" alt="it's also me" border="50" height="168" hspace="50" src="http://s3.amazonaws.com/hq-photo/root/system/photos/6187/resized_orig/photo.jpg" vspace="50" width="130" /></p></p>
</div>`
`
我是迈斯
这是最好的
这是isasd
SDFASDFASDFASD
asdfasdfasdf
asdfa
sdfasdfasdf
`
每个函数的名称。您可能希望执行$(this)
而不是$(el)
el
引用集合中元素的索引,而不是元素。或者
- 向函数添加第二个参数,这将是元素
- 在函数内部使用此<代码>此引用元素
parseInt
以实现无歧义性-函数(idx,el){}
也应该做到这一点。。。有趣。在我使用的示例中,这个
不起作用,但是(idx,el)
起作用。说到工作,我的意思是它毫无差错地通过了。但没有对我的DOM进行任何实际更改。有人知道为什么吗?我正在解析的内容来自所见即所得,因此到处都是/n
。同样,如果我只是在没有循环的情况下运行它,它至少会以一个为目标并成功地移动它。