Question: I need to be able to hide a second child if one exists.

<https://jsfiddle.net/b7vg2qsp/>

```css
#mob-links li:nth-child(2) {
  display: none !important;
}
```

```html
<ul id="mob-links">
  <li><a href="../../inventory.php">Inventory</a>
  </li>
  <li><a href="../../ah/">Market</a>  <a href="../../ah/">second link</a>
  </li>
</ul>
```

I googled and google and I couldn't find something that says anchors are not selectable by nth-child.

Answer: 
All you need to do is separate the pseudo-selector from the type selector:

```css
#mob-links li :nth-child(2) {
  display: none !important;
}
```

```html
<ul id="mob-links">
  <li><a href="../../inventory.php">Inventory</a>
  </li>
  <li><a href="../../ah/">Market</a>  <a href="../../ah/">second link</a>
  </li>
</ul>
```

When you concatenate the selectors, they're applied at the same level. Using a whitespace separator selects descendants. You could be more specific with the `>` direct descendant (child...) selector.
if it is about links within `li`, then the selector : `~` would do . (only the first link would be shown here, no matter if text stand in between ).

```css
#mob-links li a ~ a {
  display: none;
}
```

```html
<ul id="mob-links">
  <li><a href="../../inventory.php">Inventory</a>
  </li>
  <li><a href="../../ah/">Market</a>  <a href="../../ah/">second link</a>
  </li>
</ul>
```