← All examples

JavaScript Productivity producthunt.com

Product Hunt: show upvote count next to the title

Appends the upvote count next to each post title so you can compare product popularity at a glance.

Code to copy

// Annotate each feed post with its upvote count in the title bar
(function () {
  function annotate() {
    document.querySelectorAll('[data-test^="post-item"]').forEach(function (item) {
      if (item.dataset.jzVotes) { return; }
      var vote = item.querySelector('[data-test="vote-button"], button[data-test^="vote-button"]');
      var title = item.querySelector('a[href^="/posts/"]');
      if (!vote || !title) { return; }
      var n = (vote.textContent || '').replace(/[^0-9]/g, '');
      if (!n) { return; }
      item.dataset.jzVotes = n;
      var tag = document.createElement('span');
      tag.textContent = ' ▲' + n;
      tag.style.cssText = 'color:#da552f;font-weight:800;margin-left:6px;';
      title.appendChild(tag);
    });
  }
  annotate();
  var obs = new MutationObserver(function () {
    clearTimeout(window.__jzPrhVotes);
    window.__jzPrhVotes = setTimeout(annotate, 400);
  });
  obs.observe(document.body, { childList: true, subtree: true });
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases