You need to add a few elements to the jQuery so that it will find the textbox you are looking for:
$("#<%=textbox1.ClientID %>").attr("placeholder", "enter some text");
Since you are using an 'asp:TextBox', when the webpage is compiled, .Net adds values to it's ID, resulting in the ID of the textbox no longer being equal to 'textbox1'. By using <%=textbox1.ClientID %>
it allows you to search for the original ID that you named the textbox in the code.
For Example:
In one of my webpages, I have this textbox:
<asp:TextBox runat="server" ID="nameTextBox" CssClass="form-control"></asp:TextBox>
When I run my webpage and look at the compiled version of the html code, its ID is now this:
id="ctl00_Content_propertiesDXCallbackPanel_nameTextBox"
As you can see .Net has added data to the ID of the textbox to allow it to use it, hope this helps.