Php 两个元素的相关宽度
我想把两个元素的宽度联系起来,第一个是简单的div,第二个是spanPhp 两个元素的相关宽度,php,html,width,Php,Html,Width,我想把两个元素的宽度联系起来,第一个是简单的div,第二个是span <div id="wb_Name_To_Menu" style="position:absolute;left:768px;top:20px;width:171px;height:18px;z-index:4;"> <span id="sp_Name_To_Menu" style="color:#FF0000;font-family:Arial;font-size:16px;">Love Me!<
<div id="wb_Name_To_Menu" style="position:absolute;left:768px;top:20px;width:171px;height:18px;z-index:4;">
<span id="sp_Name_To_Menu" style="color:#FF0000;font-family:Arial;font-size:16px;">Love Me!</span></div>
<div id="Layer_to_mainu" style="visibility: hidden;position:absolute;text-align:left;left:772px;top:22px;width:132px;height:135px;z-index:132;" title="">
<div id="wb_main_mainu" style="position:absolute;left:8px;top:9px;width:123px;height:28px;z-index:1128;padding:0;">
<div id="main_mainu">
<ul style="display:none;">
<li><span></span><span id="id_full_name_from_main_menu">love Meeeeee</span>
<ul>
<li><span></span><span>Account Sitting</span></li>
<li><span></span><span>Help</span></li>
<li><span></span><span>Log Out</span></li>
</ul>
</li>
</ul>
</div>
它不起作用!我知道原因:它是由$(“#id_full_name_from_main_menu”).width()导致空值的引起的 如果删除所提供脚本第4行的+“px”
,它似乎可以工作
$(“#Layer#u to_mainu”).css(“width”、$(“#id#full_name_from_main_menu”).width()
$(“#id_full_name_from_main_menu”).width()
返回0,因为它的祖先
设置了显示:none
。要读取宽度,您可能只需要删除该属性,或者您可以在js中临时更改它,具体取决于您尝试执行的操作
$(document).ready(function(){
$("#wb_Name_To_Menu").hover(function(){
$("#Layer_to_mainu").css("visibility","visible");
$("#main_mainu > ul").css("display","block");
$("#Layer_to_mainu").css("width",$("#id_full_name_from_main_menu").width()+"px");
$("#main_mainu > ul").css("display","none");
});
这不会显示您的文本,但会从主菜单更新#id_full_name_的宽度,
您需要删除显示:无
才能看到文本出现。否。。。原因不是吗,我写道:警报($(“#id#u full_name_from_main_menu”).width()。。。美元的值(“#id#full_name_from_main_menu”)。宽度()=null!!!我没有解决您的问题的方法,但请注意,您正在尝试获取父级具有display:none
属性的元素的宽度。您的回答是正确的,但我做了一个更改:$(document).ready(function(){$(“#wb#u Name_to_Menu”)。hover(function(){$(“#Layer#u to#u to(u mainu u”).css(“可见性”,“可见”)$(“#main_mainu>ul”).css(“display”、“block”);$(#Layer_to_mainu”).css(“width”)、$(#sp_Name_to_Menu”).width()+10);$(#main_>ul”).css(“display”、“none”);});现在它可以100%工作了……谢谢:)
$(document).ready(function(){
$("#wb_Name_To_Menu").hover(function(){
$("#Layer_to_mainu").css("visibility","visible");
$("#main_mainu > ul").css("display","block");
$("#Layer_to_mainu").css("width",$("#id_full_name_from_main_menu").width()+"px");
$("#main_mainu > ul").css("display","none");
});