For your use-case I'd suggest:
div:hover div.item {
opacity: 0.3;
}
div:hover div.item:hover {
opacity: 1;
}
The problem is that your selector is looking for element with the class item
, that is not hovered, within another element of the same class. Your posted CSS shows that the parent element does not have a class, and so the selector can never match.