    link.attr(attrs, [, opt])

Set presentation attributes (SVG and JointJS attributes) on subelements. This is a method analogous to attr method of `joint.dia.Element`. The keys of the `attrs` object are selectors (JSON Markup Selector or CSS Selector) matching the SVG element the link consists of. The values are objects containing SVG attributes and their values. `attrs` object will be mixed with `attrs` property of the `link` model. This is a convenient way of rewriting only some of the attributes of the SVG elements. For overwriting all attributes of all SVG elements, use `link.set('attrs', attrs)`.

    link.attr({
        // selector as defined in JSON markup
        line: {
            stroke: 'red',
            targetMarker: {
                type: 'circle',
                r: 5
            }
        }
    });

    element.attr(path, value [, opt])

An alternative call using a string path and a value:

    link.attr('line/stroke', 'red');
    link.attr(['line', 'targetMarker', 'type'], 'path');

    element.attr([path])

Get attribute value defined by a path. If no path provided the whole `attrs` object is returned.

    var color = link.attr('line/stroke');
    var targetMarkerType = link.attr(['line', 'targetMarker', 'type']);