在大家心目中,猫是慵懒和可爱的化身,它可以睡饱了再起来吃饭,可以逗趣小耗子,可以卖得了萌,使得了坏,这样百变的小怪兽就集结在一只宠物上,怎能不惹人怜爱。
养猫有的时候,就是介于爱与恨之间,当你钦羡别人萌宠这么可爱的时候,你一定没有想过,猫咪会到处掉毛,甚至会屯老鼠,啃鞋子,用爪子爬门,你不理它,它就挠你,你要对它发脾气,它会比你更来劲。所以,猫咪慎入,没有一定的准备,切勿随便去侍养动物。它们一旦认定你了,你就是它们的主人,如果你抛弃它们,它们必定心中重创。
Here's a link to freecodecamp.org for you to follow.
``` 让我们来分解这个例子: 通常,文本是被包裹在p
段落内:<p> Here's a ... for you to follow. </p>
接下来是anchor
a
<a>
(需要结束标记 </a>
):<a> ... </a>
target
是 a
的一个属性,用来指定链接的打开方式。属性值 "_blank"
的意思是链接会在新标签页打开。
href
是 a
的另一个属性:用来指定链接的 URL:<a href="https://freecodecamp.org"> ... </a>
a
元素内的文本:"link to freecodecamp.org",会显示为一个可以点击的链接:<a href=" ... ">link to freecodecamp.org</a>
例子的最后输出将会是这样:Here's a link to freecodecamp.org for you to follow.
p
)标签来包裹main
元素里的a
节点。新段落的文本为:“View more cat photos”,其中 "cat photos" 是一个链接,其余是纯文本。
a
。'
testString: 'assert(($("a[href=\"http://freecatphotoapp.com\"]").length > 0 || $("a[href=\"http://www.freecatphotoapp.com\"]").length > 0));'
- text: 'a
的文本应为:cat photos。'
testString: assert($("a").text().match(/cat\sphotos/gi));
- text: '在 a
的外部创建一个新段落,这样页面就有 3 个段落了。'
testString: assert($("p") && $("p").length > 2);
- text: 'a
应嵌套在新段落内。'
testString: 'assert(($("a[href=\"http://freecatphotoapp.com\"]").parent().is("p") || $("a[href=\"http://www.freecatphotoapp.com\"]").parent().is("p")));'
- text: '段落应该包含文本 View more(记得 more 后面有一个空格)。'
testString: 'assert(($("a[href=\"http://freecatphotoapp.com\"]").parent().text().match(/View\smore\s/gi) || $("a[href=\"http://www.freecatphotoapp.com\"]").parent().text().match(/View\smore\s/gi)));'
- text: 'a
不应该包含文本 View more。'
testString: assert(!$("a").text().match(/View\smore/gi));
- text: '确保每个段落有结束标记。'
testString: assert(code.match(/<\/p>/g) && code.match(//g).length === code.match(/
/g) && code.match(//g).length === code.match(/
## Challenge Seed
在大家心目中,猫是慵懒和可爱的化身,它可以睡饱了再起来吃饭,可以逗趣小耗子,可以卖得了萌,使得了坏,这样百变的小怪兽就集结在一只宠物上,怎能不惹人怜爱。 养猫有的时候,就是介于爱与恨之间,当你钦羡别人萌宠这么可爱的时候,你一定没有想过,猫咪会到处掉毛,甚至会屯老鼠,啃鞋子,用爪子爬门,你不理它,它就挠你,你要对它发脾气,它会比你更来劲。所以,猫咪慎入,没有一定的准备,切勿随便去侍养动物。它们一旦认定你了,你就是它们的主人,如果你抛弃它们,它们必定心中重创。CatPhotoApp