首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery blink()、罢工()和粗体方法

jQuery blink()、罢工()和粗体方法
EN

Stack Overflow用户
提问于 2015-05-22 00:17:35
回答 3查看 223关注 0票数 2

我正在努力解决一个问题问题。

我编写了以下代码,它运行得很好:

代码语言:javascript
复制
(function () {
   if($('#target:contains("bold")')) {
      $('#target span:first').css('font-weight','bold');
   } 

   if($('#target:contains("strike")')) {
      $('#target span').eq(1).css('text-decoration','line-through');
   } 

   if($('#target:contains("blink")')) {
      $('#target span:last').css('text-decoration','blink');
   } 
}) ();

他们的解决办法如下:

代码语言:javascript
复制
(function () {
   var target = $('#target');
   var html = target.html();
   html = html.replace('blink',"$&".blink());
   html = html.replace('bold',"$&".bold());
   html = html.replace('strike',"$&".strike());
   target.html(html);
}) ();

我有以下问题:

  1. 我不明白"$&""$&".blink()"$&".bold()"$&".strike()中是什么,
  2. blinkboldstrike jQuery UI方法吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-22 00:27:40

这些不是jQuery方法。jQuery中的所有内容要么是表单$.funcName()的函数,要么是在jQuery对象上操作的方法,例如$(something).methodName()

这些是String类的常规Javascript方法:String.prototype.blinkString.prototype.boldString.prototype.strike。他们只是用适当的HTML元素来包装他们的参数。然而,它们已经被废弃了,因为CSS现在是首选的,而不是像<blink>这样的旧标签,所以您不应该使用它们。

"$&".replace()方法的一个特性,它被自动替换为原始匹配元素。它在使用正则表达式时非常有用,因为您不知道与模式匹配的确切字符串。

你对这个问题的解决方案看上去不太合适。它假设每个单词都在自己的跨度中,而且bold在第一个跨度,strike在第二个跨度,blink在第三个跨度中。该练习的目的是在设计资料集中的任何地方找到词语,并把适当的风格围绕在这个词周围。

票数 4
EN

Stack Overflow用户

发布于 2015-05-22 00:33:35

JavaScript replace()方法使用正则表达式。$&语法是匹配表达式的缩写;因此它将分别表示blinkboldstrike

因为@Daniel A. White在他的答复中提到blink()bold()strike()是从string.prototype中删除的用于在标记中包装源字符串的方法。所使用的确切标记将因浏览器而异;例如,可以返回<b>bold</b>、另一个<strong>bold</strong>和另一个<span style="font-weight: bold">bold</span>

尽管@Barmr的公认答案更短,但我觉得您的更优雅,因为它易于理解,结果一致,并且基于标准。也就是说,@Barmar提出了合理的关切是关于它所作的假设的,因此,它在一般情况下是有用的。

票数 1
EN

Stack Overflow用户

发布于 2015-05-22 00:24:24

这些都是不推荐的方法,用于将字符串包装在某个元素中。

String.prototype.blink显示它是一个本机方法。

您可以在这里查看:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30386468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档