小编I a*_*ica的帖子

无效的CSS选择器导致规则被删除:理由是什么?

我正在寻找更多关于邮件列表讨论等的链接,而不是猜测.

任何人都可以帮我找出CSS Selectors Level 3规范中引用的错误处理规则背后的基本原理.

用户代理必须遵守处理解析错误的规则:

  • 包含未声明的命名空间前缀的简单选择器无效
  • 包含无效简单选择器,无效组合符或无效标记的选择器无效.
  • 包含无效选择器的一组选择器无效.

重用规范选择器必须定义如何处理解析错误.(在CSS的情况下,删除使用选择器的整个规则.)

我有以下规则:

#menu li.last, #menu li:last-child {
  ...
}
Run Code Online (Sandbox Code Playgroud)

为了弥补IE8缺乏最后一个孩子的支持,我使用了一个类和一个JavaScript垫片.但是,这不起作用,因为IE8符合错误处理的CSS规范,并丢弃整个规则,因为它无法识别一个选择器.这可以通过将两个选择器分成单独的规则来解决.

为什么这是可取的?为什么规范没有建议简单地丢弃无法识别的选择器,而是保留规则的其余部分?

我想知道其基本原理,因为目前的规则似乎是违反直觉的.

css w3c css-selectors

23
推荐指数
1
解决办法
2535
查看次数

改变元素的顺序

我正在创建一个浮动宽度的网站.用户使用全高清分辨率的屏幕到智能手机上的600px,这似乎是个不错的主意.这带来了一个非常有趣的问题.

当用户使用比最佳分辨率更小的分辨率时,页面获得更高的高度.这意味着更改某些元素(例如某些图像,搜索框或导航)的顺序可能会有用,以使页面更易读,而不需要流氓.

所以我需要能够访问DOM并更改某些页面元素的顺序(交换它们).

假设我有一个列表,需要交换第1项和第2项.

<ul>
  <li>1</li>
  <li>2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我找到了一个解决方案,它基于<ul>使用函数附加已经有的元素元素appendChild.然而,文本节点存在问题,并且对于更难的元素结构来说它变得非常复杂,因为需要再次重新构建它.

你有任何改进建议吗?

html javascript dom

10
推荐指数
3
解决办法
2万
查看次数

删除仅限空格的数组元素

由于使用array.splice就地修改了数组,如何在不抛出错误的情况下从数组中删除所有仅空白元素?使用PHP,我们有preg_grep,但我在JS中如何正确地执行此操作.

由于上述原因,以下内容不起作用:

for (var i=0, l=src.length; i<l; i++) {

    if (src[i].match(/^[\s\t]{2,}$/) !== null) src.splice(i, 1);

}
Run Code Online (Sandbox Code Playgroud)

错误:

未捕获的TypeError:无法调用undefined的方法'match'

javascript

9
推荐指数
2
解决办法
2万
查看次数

对于原始类型,TypeConverters是否已被破坏?

我遇到了一个与DecimalConverterInt32Converter类有关的问题,它们似乎返回了不一致的结果,如下面的简单控制台程序所示:

using System;
using System.ComponentModel;

class App
{
    static void Main()
    {
        var decConverter = TypeDescriptor.GetConverter(typeof(decimal));
        Console.WriteLine("Converter: {0}", decConverter.GetType().FullName);
        Console.WriteLine("CanConvert from int to decimal: {0}", decConverter.CanConvertFrom(typeof(int)));
        Console.WriteLine("CanConvert to int from decimal: {0}", decConverter.CanConvertTo(typeof(int)));

        Console.WriteLine();

        var intConverter =  TypeDescriptor.GetConverter(typeof(int));
        Console.WriteLine("Converter: {0}", intConverter.GetType().FullName);
        Console.WriteLine("CanConvert from int to decimal: {0}", intConverter.CanConvertTo(typeof(decimal)));
        Console.WriteLine("CanConvert to int from decimal: {0}", intConverter.CanConvertFrom(typeof(decimal)));
    }
}
Run Code Online (Sandbox Code Playgroud)

这个输出如下:

Converter: System.ComponentModel.DecimalConverter
CanConvert from int to decimal: False
CanConvert to int from decimal: True

Converter: System.ComponentModel.Int32Converter
CanConvert from …
Run Code Online (Sandbox Code Playgroud)

.net c# typeconverter

8
推荐指数
1
解决办法
3417
查看次数

如何从数组中的每个数字中减去1?

如果我有

var numberarr = [1, 2, 3, 4, 5];
Run Code Online (Sandbox Code Playgroud)

我将如何进入

var numberarr2 = [0, 1, 2, 3, 4];
Run Code Online (Sandbox Code Playgroud)

通过从每个元素递减1?

javascript arrays math

7
推荐指数
2
解决办法
9183
查看次数

如何使用"[]"作为参数工作?

我在网上做了一些javascript练习(codewars.com).一个问题是要求用户获取一组数组对象并从整个数组中删除一个级别.

[] /* becomes */ []
[[1, 2, 3], ["a", "b", "c"], [1, 2, 3]] /* becomes */ [1, 2, 3, "a", "b", "c", 1, 2, 3]
[[3, 4, 5], [[9, 9, 9]], ["a,b,c"]] /* becomes */ [3, 4, 5, [9, 9, 9], "a,b,c"]
Run Code Online (Sandbox Code Playgroud)

我最后了解了concat方法,但最流行的解决方案使用了这个声明......

function (arr){
  return [].concat.apply([],arr);
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下[]这里的用法吗?我无法理解这是如何产生正确的结果(并且它没有在页面上给出解释).我知道还有很多其他时候使用空括号作为参数和标签数组,因此理解这里的用法可能有助于我将来自己使用它.

javascript arrays

7
推荐指数
1
解决办法
70
查看次数

如果我将函数体而不是函数名传递给setTimeout会发生什么?

我知道使用setTimeout的正确方法如下:

setTimeout(function(){alert('hi!');}, 3000);
Run Code Online (Sandbox Code Playgroud)

或定义外部函数,并传递引用:

var foo=function(){alert('hi!');}
setTimeout(foo, 3000);
Run Code Online (Sandbox Code Playgroud)

如果我把它写成:

setTimeout(alert('hi!'), 3000);
Run Code Online (Sandbox Code Playgroud)

它看起来像是alert('hi!')正确执行的.

javascript settimeout node.js

2
推荐指数
1
解决办法
67
查看次数

如何否定 jQuery 中的 $.is 函数?

jQuery 有一个名为“is”的函数,用于检查给定的属性,例如:

$('#article').is(':visible')
Run Code Online (Sandbox Code Playgroud)

这将检查 div#article 是否可见。

但是我找不到 is-not 函数。我想写:

$('#article').is-not(':visible')
Run Code Online (Sandbox Code Playgroud)

它是什么?

我检查了文档并发现,.not但我意识到这.not.is-not我正在寻找的“ ”功能完全不同。

javascript jquery

2
推荐指数
1
解决办法
488
查看次数

存储过程返回许多记录,但datareader只能看到一个

我创建了一个SQL Server存储过程,我在其中使用游标,并创建了一个ASP.NET方法来执行该过程.我使用的是SqlDataReaderwhile(reader.Read())读值.问题是存储过程中的游标返回许多行,但该方法仅读取第一个记录.有人可以帮忙吗?

存储过程:

create procedure [dbo].[GetMenusUserGroupCanView] 
(
  @UserGroupID int
 ,@LanguageID int
) as begin

    declare @MenuID int

    declare @Title varchar(255)

    declare db_cursor cursor for
    (
        select MenuID
        from TrioGate.dbo.Sys_UserGroupMenus
        where UserGroupID=@UserGroupID and ViewFlag='true'
    )

    open db_cursor  

    fetch next from db_cursor into @MenuID  

    while @@fetch_status = 0 begin  

        select 
         Sys_Menus.MenuID
        ,Sys_Menus.ParentMenuID
        ,Sys_Menus.DescriptionLabelID
        ,Sys_Menus.TitleLabelID
        ,Sys_Menus.TooltipLabelID
        ,Sys_Menus.[Icon]
        ,Sys_Menus.[MenuName]
        ,Sys_Menus.[MenuTypeID] as MenuType
        ,[dbo].[Get_ParentMenu_Name](Sys_Menus.ParentMenuID) as ParentMenuName
        ,[dbo].[Get_Label_Description](Sys_Menus.TitleLabelID,1) as Title
        ,[dbo].[Get_Label_Description](Sys_Menus.TooltipLabelID,1) as Tooltip
        ,[dbo].[Get_Label_Description](Sys_Menus.DescriptionLabelID,1) as [Description]
        ,Sys_Menus.[MainTableName] as [Table]
        ,Sys_Menus.[Seq],Sys_Menus.[MenuPath],Sys_Menus.ActivateLog,Sys_Menus.MenuID 
        from Sys_Menus …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sql-server-2008

1
推荐指数
1
解决办法
4382
查看次数

如何识别数组中元素的唯一属性?

假设我在卫生部工作.我已经处理了食物中毒投诉并将投诉数据存储到多维数组中,如下所示:

  1. ID - 餐馆受害者吃的5位数身份证号码
  2. 日期 - 食物中毒日期
  3. 姓名 - 受害者姓名
  4. 年龄 - 受害者的年龄
  5. 电话 - 受害者的电话号码

Array [0]包含第一个投诉的数据.Array [0] .ID包含第一个投诉的餐馆ID,依此类推.

在我的数组中,如何提取唯一的 5位数ID 列表?

一些餐馆可能有50个投诉,有些可能只有1.我想创建一个列表,列出我的投诉数据中显示的所有独特的餐馆ID.

var Unique = array.ID.Distinct();
Run Code Online (Sandbox Code Playgroud)

不起作用.我究竟做错了什么?

c# arrays

0
推荐指数
1
解决办法
158
查看次数

如何从visual studio 2017项目中删除此"+"SIGN

在此图像中,您可以看到不同类型的文件,但有些像favicon,global,pakcages这样的文件有'+'SIGN.那我怎么能删除这个'+'SIGN?

解决方案树视图

visual-studio-2017

0
推荐指数
1
解决办法
82
查看次数

如何从数组中选择随机元素并从列表中删除它

你可以告诉我如何从列表中随机选择一个数字,并将其从阵列中删除下次吗?例如,我有一个数组:

var items   = new Array( 2,3,4,5,6,7,8,9,10 );
Run Code Online (Sandbox Code Playgroud)

现在我想在按下一个Pick按钮时选择一个项目并将拾取的值添加到div中,并从阵列中删除拾取的项目,以便在下一个Pick按钮推动它不会在那里直到选择所有项目.

谢谢你的时间

javascript

-1
推荐指数
2
解决办法
2102
查看次数

为什么!重要的是被覆盖了?

为什么计算的font-size 22.08px(1.38em)而不是16px

.stec {
  font-size: 16px !important;
}
#content p {
  font-size: 1.38em; /* why does this override !important? */
}
Run Code Online (Sandbox Code Playgroud)
<div id="content">
  <div class="stec">
    <p>some paragraph text</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

16px!important,但它没有被应用.这是Chrome调试器的计算样式窗口:

计算风格

css

-1
推荐指数
1
解决办法
222
查看次数