И
if($('.href').attr( "data-target")=="#modal-flint-water") ...
//вот так
if($('.href').data("target")=="#modal-flint-water")
//дважды получать объект тоже не стоит
$('.order-water').attr({"href": "shop/?add-to-cart=209", "data-product_id": "209"}); //кстати, что других значений как кроме 209 не может быть?
А вообще повторяется практически одно и тоже, наверное лучше определить параметры по условию, затем получить объекты и установить их.