Many commercial weed killers contain chemicals that not only kill the weeds, but the grass as well. Another problem is they can taint waterways, and are toxic to humans and animals if not stored properly. One thing to keep in mind is that there is no homemade weed killer that will not kill the grass if sprayed or poured directly on it. Avoid this by only spraying or pouring homemade weed killers on weeds only.
Corn Gluten Meal
Remove all weeds in your lawn before using corn gluten meal as it does not affect grown weeds. Once you have done this, corn gluten meal can be applied to a lawn and will suppress the development of small feeder roots. This prevents all weed growth. It is also effective on a number of weed types found in lawns, such as crabgrass, dandelions, curly dock, knotweed, lamb's quarters, pigweed, and plantain. It has the added advantage of not affecting any established plants. This includes your grass and any ornamental plants.
Liquid Dish Detergent
Stir together 10 parts water and 1 part liquid dish detergent in a clean spray bottle. Soak the weeds with this mixture and it will kill them. This method works best during the hottest part of the day because the liquid dish soap gets sticky on the leaves and stems as the water evaporates, and dries them out. This will quickly kill the weed.
Pour white vinegar into a clean spray bottle, and spray it directly on the leaves of weeds. This will dry out the moisture in the weed's leaves and kill it. There is some debate about whether this kills the roots and as such really kills the plants, so you will want to pull the weed out once the vinegar does its work. Since vinegar can change the pH of soil, it's not a good idea to spray it directly on the soil.
Salt and Vinegar
Mix 1 1/4 cup of salt with 1 gallon of white vinegar. Pour some of the mixture into a clean spray bottle and set the spray to a stream. Spray the stream directly onto the head of the dandelions. This will kill the dandelions without killing the grass. Don't get the mixture on the grass as it will kill it as well. This mixture can render soil sterile for up to two years, so avoid spraying it directly on the soil.