相关疑难解决方法(0)

连字符分隔的案例的名称是什么?

这是PascalCase: SomeSymbol

这是camelCase: someSymbol

这是snake_case: some_symbol

所以我的问题是,是否有这个被广泛接受的名字:some-symbol?它常用于网址.

programming-languages terminology naming-conventions

474
推荐指数
11
解决办法
14万
查看次数

命名"class"和"id"HTML属性 - 破折号与下划线

<div id="example-value">还是<div id="example_value">

这个网站和Twitter使用的是第一种风格.Facebook和Vimeo--第二个.

你使用哪一个?为什么?

html coding-style naming-conventions

108
推荐指数
4
解决办法
7万
查看次数

jQuery camel-case映射从"data-"属性名称到".data()"键

如果在元素上放置"data-"属性:

<div id='x' data-key='value'>
Run Code Online (Sandbox Code Playgroud)

然后你可以通过jQuery".data()"方法获取值:

alert($('#x').data('key')); // alerts "value"
Run Code Online (Sandbox Code Playgroud)

该库使用一致的驼峰转换器来处理带有嵌入破折号的属性名称:

<div id='x' data-hello-world="hi">

alert($('#x').data("helloWorld"));
Run Code Online (Sandbox Code Playgroud)

camel-case转换器是一个jQuery"全局"函数:

alert($.camelCase("hello-world")); // alerts "helloWorld"
Run Code Online (Sandbox Code Playgroud)

但是,当属性名称的名称包含由短划线包围的单个字母时,这一切都会崩溃:

<div id='x' data-image-x-offset='50px'>

alert($('#x').data('imageXOffset')); // undefined
Run Code Online (Sandbox Code Playgroud)

这有点奇怪,因为:

alert($.camelCase('image-x-offset')); // "imageXOffset"
Run Code Online (Sandbox Code Playgroud)

那有什么不对?我认为它与用于转向另一个方向的机制有关,将已经驼峰式的名称转换回虚线形式.但是我无法在代码中找到它.

似乎在1.6.2和1.6.3中相同.(顺便说一下,"image-x-offset"形式可用于获取数据.)

编辑 - 如果,对于给定的元素,您尝试驼峰形式之前通过虚线形式访问,那么它可以工作(并告诉我这绝对是一个错误 :-)

javascript jquery

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

Javascript和CSS,使用破折号

我开始学习一些javascript并理解在命名标识符时不允许破折号.但是,在CSS中,通常使用短划线表示ID和类.

在CSS中使用短划线是否会以某种方式干扰javascript交互?例如,如果我使用getElementByID("css-dash-name").我已经尝试使用带有破折号的getElementByID作为div ID的名称的一些示例,但它确实有效,但我不确定在所有其他上下文中是否都是这种情况.

javascript css naming-conventions

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

转义CSS类选择器中的字符

我正在尝试在CSS类选择器中实现此W3字符转义的描述.

我遇到了在abc\20 def转义序列之后放置空格的语法问题,以确保def不会被误读为字符代码的一部分.

具体来说,尝试放入abc\XY defHTML类属性或类似命令jQuery().addClass('abc\\20 def')(\\这里是JS字符串文字语法的一部分;字符串值本身有一个斜杠)将赋予元素两个类,abc\20def.

这种语法是不是很难实现,我应该坚持使用六位数的前导零形式?或者该文档仅引用CSS代码中的转义格式,HTML属性/ jQuery参数需要一些不同形式的转义空格字符?

编辑:非常感谢大家的解释!

我现在明白这种语法只适用于CSS代码 - 而不是HTML属性或Javascript中设置的类名本身.

这也意味着指定为空格的字符不能出现在CSS类值中,并且没有任何类型的转义机制允许它们被添加.(具体来说,如果我理解正确的话,CSS选择器.abc\20 def是有效的并且选择具有类的元素abc def,但是没有意义,因为没有元素可以拥有这个类.)

对于我的具体用例,它涉及将任意值(可以有空格)映射到有效的类名,我需要定义自己的转义方案.用-或替换空格_(感谢Praveen)是一种可能性; 如果映射需要一对一,则用六位数的Unicode十六进制值替换它们(例如,它"abc def" -> "abc\000020def" 是一个更强大的值).

要记住的重要一点是,这个替换会影响类名本身 - 要abc\000020def在CSS中引用类,必须再次转义反斜杠,以形成选择器.abc\\000020def.

javascript html5 css-selectors

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