Get first line of paragraph

Can't quite figure this one out. I need to be able to select the text in the first line of a paragraph tag and wrap it in a <span> with an assigned class.

Thanks.
qwertqAsked:
Who is Participating?
 
drypzCommented:
Hi! Try this one.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
 
        .spanClass
        {
            font-size:11px;
            font-family:verdana;
            color:Blue;
        }
    </style>
        
    <script type="text/javascript">
       
        function GetFirstParagraph()
        {
            var theText = document.getElementById('paragraph1').innerHTML;
            
            if (theText.length > 0)
            {
                var splittedText = theText.split('<BR>');
                CreateSpan(splittedText[0]);
            }
 
            return false;
        }
        
        function CreateSpan(textValue)
        {
            var theSpan = document.createElement("span");
            theSpan.id = "span1";
            theSpan.className = "spanClass";
            theSpan.innerText = textValue;
            document.body.appendChild(theSpan);
            
        }
 
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <p id="paragraph1">
            This is a test.<br />
            This is a test 1.<br />
            This is a test 2.<br />
        </p>
    </div>
    <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return GetFirstParagraph();"/>
    </form>
</body>
</html>

Open in new window

0
 
qwertqAuthor Commented:
Thanks for the reply. Unfortunatly I can not use <br>'s to detect where the line break occurs. The text would be a normal paragraph of text inside a <p>, forced line breaks.

I am beginning to think this is not possible.
0
 
arunrajeshCommented:
You can get the first line of a paragraph only if you know how many characters you are supporting for a line(It can be taken by identifying from your div width). Once you know the number of characters then use can split the content with that count using javascript to get the first line alone.
(I am not sure whether all browsers will support same number of characters - i guess it as "No")
just give a try.
0
 
Samuel LiewCommented:
This is not possible as different browsers display pages differently, and paragraph may wrap differently due to the width of the browser window, or the width of other elements next to it.
0
 
CWS (haripriya)Commented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.