Node localization technology has become a research hotspot for wireless sensor networks (WSN) in recent years. The standard distance vector hop (DV-Hop) is a remarkable range-free positioning algorithm, but the low positioning accuracy limits its application in certain scenarios. To improve the positioning performance of the standard DV-Hop, an enhanced DV-Hop based on weighted iteration and optimal beacon set is presented in this paper. Firstly, different weights are assigned to beacons based on the per-hop error, and the weighted minimum mean square error (MMSE) is performed iteratively to find the optimal average hop size (AHS) of beacon nodes. After that, the approach of estimating the distance between unknown nodes and beacons is redefined. Finally, considering the influence of beacon nodes with different distances to the unknown node, the nearest beacon nodes are given priority to compute the node position. The optimal coordinates of the unknown nodes are determined by the best beacon set derived from a grouping strategy, rather than all beacons directly participating in localization. Simulation results demonstrate that the average localization error of our proposed DV-Hop reaches about 3.96 m, which is significantly lower than the 9.05 m, 7.25 m, and 5.62 m of the standard DV-Hop, PSO DV-Hop, and Selective 3-Anchor DV-Hop.