Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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
Javascript 当浏览器调整大小时,如何更改div元素的id?_Javascript_Html - Fatal编程技术网

Javascript 当浏览器调整大小时,如何更改div元素的id?

Javascript 当浏览器调整大小时,如何更改div元素的id?,javascript,html,Javascript,Html,我有这个密码 我想在浏览器调整大小时将id更改为234 我已经使用了媒体查询,但我认为这是不可能的 @media screen and (max-width: 479px) { #123 { } } 我不知道你想做什么,但这可以通过 通常情况下,您不应该随意更改元素ID,但如果您想更改,则需要onresize函数中的一些逻辑来推断调整窗口大小时元素将具有哪个ID。我不确定您想做什么,但这可以通过 通常情况下,您不应该更改元素ID,但如果您想更改,则需要onresize

我有这个密码

我想在浏览器调整大小时将id更改为234

我已经使用了媒体查询,但我认为这是不可能的

@media screen and (max-width: 479px) {

    #123 {

    }
} 

我不知道你想做什么,但这可以通过


通常情况下,您不应该随意更改元素ID,但如果您想更改,则需要onresize函数中的一些逻辑来推断调整窗口大小时元素将具有哪个ID。

我不确定您想做什么,但这可以通过

通常情况下,您不应该更改元素ID,但如果您想更改,则需要onresize函数中的一些逻辑来推断在调整窗口大小时元素将具有哪个ID。

无jQuery答案

window.onresize = function(event) {
   if(document.getElementById('123') != null)            
   document.getElementById('123').id = '234';
};
只需小心id
234
没有分配给另一个元素,但是您不应该为了更改样式而更改id,因为这应该通过添加和删除css类来完成。

没有jQuery答案

window.onresize = function(event) {
   if(document.getElementById('123') != null)            
   document.getElementById('123').id = '234';
};

只需小心id
234
没有分配给其他元素,但是您不应该为了更改样式而更改id,因为这应该通过添加和删除css类来完成。

您是对的!不可能使用CSS,但可以使用JavaScript&/或jQuery。使用以下方法尝试此操作:

上面代码的问题是,它是一个仅1x的更改。在第一次调整大小后,您永远无法重新定位该id。因此,在浏览器检测到其大小已调整2-3像素后,JS将中断

真正的问题是,为什么要在调整大小时更改id?最好更改HTML5
data-*
属性,例如:
dataid
。这使您能够使用
#myUniqueId
属性重复更改它。然后,只要调整窗口的大小,代码就应该继续连续运行

以下是此代码的示例:

HTML:

<div id="myUniqueId" data-id="123"></div>
<div id="output"></div>
$(window).resize(function() {
    var id = $('#myUniqueId').attr('data-id');
    id++;
    $('#myUniqueId').attr('data-id',id);
    // Double check: what is my id? 
    var myId = $('#myUniqueId').attr('data-id');
    $('#output').html(myId);
});

你说得对!不可能使用CSS,但可以使用JavaScript&/或jQuery。使用以下方法尝试此操作:

上面代码的问题是,它是一个仅1x的更改。在第一次调整大小后,您永远无法重新定位该id。因此,在浏览器检测到其大小已调整2-3像素后,JS将中断

真正的问题是,为什么要在调整大小时更改id?最好更改HTML5
data-*
属性,例如:
dataid
。这使您能够使用
#myUniqueId
属性重复更改它。然后,只要调整窗口的大小,代码就应该继续连续运行

以下是此代码的示例:

HTML:

<div id="myUniqueId" data-id="123"></div>
<div id="output"></div>
$(window).resize(function() {
    var id = $('#myUniqueId').attr('data-id');
    id++;
    $('#myUniqueId').attr('data-id',id);
    // Double check: what is my id? 
    var myId = $('#myUniqueId').attr('data-id');
    $('#output').html(myId);
});

我使用类似的代码,所以你可以使用移动或桌面不同的css。。。然而,这完全激怒了我

这样您就可以使用相同的id或类。但根据屏幕大小,它会做一些不同的事情

@media not all and (min-width:999px){
    /* Big Screen */
    body {background-color:green; }
    #id { background-color:red}
}

@media all and (min-width:1000px)
{
    /* Smaller Screen */
    body {background-color:blue; }
    #id { background-color:grey}
}

请注意,当您用鼠标手动重新调整屏幕大小时,颜色会自动变为较小的css。

我使用类似的代码,因此您可以在手机或桌面上使用不同的css。。。然而,这完全激怒了我

这样您就可以使用相同的id或类。但根据屏幕大小,它会做一些不同的事情

@media not all and (min-width:999px){
    /* Big Screen */
    body {background-color:green; }
    #id { background-color:red}
}

@media all and (min-width:1000px)
{
    /* Smaller Screen */
    body {background-color:blue; }
    #id { background-color:grey}
}

请注意,当您使用鼠标手动调整屏幕大小时,颜色会自动更改为较小的css。

您可以使用javascript或jQuery轻松完成此操作。 下面是一个用JS编写的示例

window.onresize=function(){
var div=document.getElementById(“aaa”);
如有需要(分区){
div.setAttribute(“id”、“bbb”);
}
}
#aaa{
字体大小:10px;
}
#bbb{
字号:10em;
}

调整大小
您可以使用javascript或jQuery轻松完成此操作。 下面是一个用JS编写的示例

window.onresize=function(){
var div=document.getElementById(“aaa”);
如有需要(分区){
div.setAttribute(“id”、“bbb”);
}
}
#aaa{
字体大小:10px;
}
#bbb{
字号:10em;
}

调整大小
我希望这一款适合您

//detect window resize
$(window).resize(function() {

    //test if window width is below 479
    $(window).width() < 479 ? small() : big();

    //small function is called when window size is smaller than 479
    function small(){
        //edited from $( "#id_changer" ).append( "<div id='123'>123</div>" );
        document.getElementByID('id_changer').innerHTML = "<div id='123'>123</div>";
    }

    //big function is called when window size is bigger than 479
    function big(){
        //edited from $( "#id_changer" ).append( "<div id='234'>234</div>" );
        document.getElementByID('id_changer').innerHTML = "<div id='234'>234</div>";
    }
});



<body>
    <div id="id_changer"></div>
</body>
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
<script src="test.js"></script>
//检测窗口大小
$(窗口)。调整大小(函数(){
//测试窗口宽度是否低于479
$(窗口).width()<479?small():big();
//当窗口大小小于479时,调用small函数
函数小(){
//从$(“#id_changer”)编辑。附加(“123”);
document.getElementByID('id_changer')。innerHTML=“123”;
}
//窗口大小大于479时调用大函数
函数大(){
//从$(“#id_changer”)编辑。附加(“234”);
document.getElementByID('id_changer')。innerHTML=“234”;
}
});

我希望这一款适合您

//detect window resize
$(window).resize(function() {

    //test if window width is below 479
    $(window).width() < 479 ? small() : big();

    //small function is called when window size is smaller than 479
    function small(){
        //edited from $( "#id_changer" ).append( "<div id='123'>123</div>" );
        document.getElementByID('id_changer').innerHTML = "<div id='123'>123</div>";
    }

    //big function is called when window size is bigger than 479
    function big(){
        //edited from $( "#id_changer" ).append( "<div id='234'>234</div>" );
        document.getElementByID('id_changer').innerHTML = "<div id='234'>234</div>";
    }
});



<body>
    <div id="id_changer"></div>
</body>
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
<script src="test.js"></script>
//检测窗口大小
$(窗口)。调整大小(函数(){
//测试窗口宽度是否低于479
$(窗口).width()<479?small():big();
//当窗口大小小于479时,调用small函数
函数小(){
//从$(“#id_changer”)编辑。附加(“123”);
document.getElementByID('id_changer')。innerHTML=“123”;
}
//窗口大小大于479时调用大函数
函数大(){
//从$(“#id_changer”)编辑。附加(“234”);
document.getElementByID('id_changer')。innerHTML=“234”;
}
});

更改
id的目的是什么?唯一的目的是让您可以应用不同的CSS样式吗?如果是这样,媒体查询将使您走上正确的轨道。更改
id
的目的是什么?唯一的目的是让您可以应用不同的CSS样式吗?如果是这样的话,媒体的询问会让你走上正确的道路。ID不能以数字开头。HTML 5删除了该限制。请阅读该网页上的日期:2007。哇,我觉得自己老了…谢谢Barmar…LOLI我想我的答案只能证明你所做的,是