     set_prop! socket, selector, innerHTML: html
   end
 
+  @doc """
+  Broadcasting version of `set_html/3`.
+
+  It does exactly the same as `set_html/3`, but instead of pushing the message to the current
+  browser, it broadcasts it to all connected users.
+
+  Always returns `{:ok, :broadcasted}`.
+
+  See `Drab.Core.broadcast_js/2` for broadcasting options.  
+  """
+  @spec broadcast_html(Drab.Core.subject(), String.t(), String.t()) :: Drab.Core.result()
+  def broadcast_html(subject, selector, html) do
+    broadcast_js(subject, set_js(selector, %{"innerHTML" => html}))
+  end
+
+  @doc """
+  Exception-throwing version of `broadcast_html/43`
+  """
+  @spec broadcast_html!(Drab.Core.subject(), String.t(), String.t()) :: Drab.Core.result()
+  def broadcast_html!(subject, selector, html) do
+    broadcast_js!(subject, set_js(selector, %{"innerHTML" => html}))
+  end
+
 end

  end

  @doc """
  Helper for setting the dataset of elements. A shorthand for:

      set_prop(socket, selector, %{"dataset" => dataset})

  end

  @doc """
  Broadcasting version of `set_style/3`.

  It does exactly the same as `set_style/3`, but instead of pushing the message to the current
  browser, it broadcasts it to all connected users.

  Always returns `{:ok, :broadcasted}`.

  See `Drab.Core.broadcast_js/2` for broadcasting options.  
  """
  @spec broadcast_style(Drab.Core.subject(), String.t(), map | Keyword.t()) :: Drab.Core.result()
  def broadcast_style(subject, selector, properties) when is_list(properties) or is_map(properties) do
    broadcast_js(subject, set_js(selector, %{"style" => Map.new(properties)}))
  end

  @doc """
  Exception-throwing version of `broadcast_style/3`
  """
  @spec broadcast_style!(Drab.Core.subject(), String.t(), map | Keyword.t()) :: Drab.Core.return() | no_return
  def broadcast_style!(subject, selector, properties) when is_list(properties) or is_map(properties) do
    broadcast_js!(subject, set_js(selector, %{"style" => Map.new(properties)}))
  end

  @doc """
  Helper for setting the attributes of found elements. A shorthand for:

      set_prop(socket, selector, %{"attributes" => attributes})
