Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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
使用css或javascript(jquery)将段落的第一行链接起来_Javascript_Jquery_Css_Hyperlink_Line - Fatal编程技术网

使用css或javascript(jquery)将段落的第一行链接起来

使用css或javascript(jquery)将段落的第一行链接起来,javascript,jquery,css,hyperlink,line,Javascript,Jquery,Css,Hyperlink,Line,我有一段话: <div> <p class="one"> a long text that wrap in multiple rows. Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim ve

我有一段话:

    <div>
       <p class="one">
          a long text that wrap in multiple rows. Lorem ipsum dolor sit amet, 
          consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
          ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
          obcaecat cupiditat non proident, sunt in 
          culpa qui officia deserunt mollit anim id est laborum.
       </p>
    </div>

以多行换行的长文本。Lorem ipsum dolor sit amet, 作为一名精英,我们需要暂时的劳动和巨大的财富。但是,我们必须尽可能少地进行实验 我们从商品交易中获得流动性。在无教区区的地方,你可以自由地表达自己的意愿。圣岛例外 无冒失,必须插入 这是我的错。

长文本用div包装。div标记的宽度为565px。因此,div中的文本在多行(行)中可见,因为它包装文本

我希望只有第一行变成超链接

所以,我想得到这个:

    <div>
       <p class="one">
          <a href="#">a long text that wrap in multiple rows. Lorem ipsum dolor sit amet, </a>
          consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
          ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
          obcaecat cupiditat non proident, sunt in 
          culpa qui officia deserunt mollit anim id est laborum.
       </p>
    </div>

作为一名精英,我们需要暂时的劳动和巨大的财富。但是,我们必须尽可能少地进行实验 我们从商品交易中获得流动性。在无教区区的地方,你可以自由地表达自己的意愿。圣岛例外 无冒失,必须插入 这是我的错。

更新 我正在测试这个:

<html>
<head>
<style type="text/css">
a:first-line
{
    color:yellow;
}
</style>
</head>

<body>
<h1>WWF's Mission Statement</h1>
<a href="#">a long text that wrap in multiple rows. Lorem ipsum dolor sit amet,
              consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
              ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
              obcaecat cupiditat non proident, sunt in 
              culpa qui officia deserunt mollit anim id est laborum.</a>
</body>
</html>

a:第一线
{
颜色:黄色;
}
世界自然基金会使命宣言


但这似乎不起作用。为什么伪选择器第一行不能与超链接标记一起使用?

div中的文本将根据浏览器宽度自动换行。您可以获取对DOM元素的引用,并使用“clientWidth”属性来计算段落中第一行的长度。迭代段落中的每个单词,并评估clientWidth超过div width的情况。

因为我猜您只想获得用于表示的内容,所以可以将所有文本包装在一个链接中,并使用CSS仅给出第一行链接外观。你不能用CSS将某些内容转换为链接。

我从未尝试过这个。。。但我有一个想法——试着结合使用:第一线,:之前和:之后这是可行的,但不是一个好主意。如果文本是一行并换行的,那么您必须准确地了解它在用户屏幕上的显示方式,考虑浏览器/屏幕大小,以及大量的麻烦和代码。要做到这一点,请执行其他操作!除了自然包装的文本之外,这里似乎没有定义性的“第一行”概念-请注意,
标记中的文本将被规范化,实际文本中的新行被视为空白。如何获得单词的像素大小?我迭代了段落中的每个单词,但如果超过div width,如何将每个单词的像素宽度转换为一起计算?请参阅“是”,它仅用于表示目的。你是对的!我可以将其显示为链接,并且我可以使用:first-line仅更改第一行的外观。我没想到!谢谢